*, ::after, ::before {
    box-sizing: border-box;
}
:root {
    --color-white: #fffcef;
    --color-black: #0c1115;
    --color-red: #c41111;
    --color-gray: #8e8e8e;
}
   
input:focus, textarea:focus, button:focus {
    outline: none;
}
img {
    max-width: 100%;
}
a {
    text-decoration: none;
    color: currentColor;
    transition: all .2s;
}
body {
    background-color: var(--color-white);
    color: var(--color-black);
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.2;
    font-family: 'InterTight', sans-serif;
}
body.open {
    overflow: hidden;
}
.main {
    transition: all .7s;
}
.d-flex {
    display: flex;
}
.align-items-center {
    align-items: center;
}
.justify-content-between {
    justify-content: space-between;
}
.ul-nav {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.btn {
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 5px 5px 5px 5px;
    padding: 10px 40px;
    transition: all .3s;
    text-align: center;
    display: inline-block;
    border:none;
    cursor: pointer;
}
.btn-red {
    background-color: var(--color-red);
    color: var(--color-white);
}
.btn-red:hover {
    background-color: #df3333;
}
.btn-tr {
    background: none;
    border: 1px solid var(--color-white);
    color: var(--color-white);
}
.btn-tr:hover {
    background-color: var(--color-white);
    color: var(--color-black);
}
.btn-white {
    background-color: var(--color-white);
    color: var(--color-black);
}
.btn-white:hover {
    background-color: var(--color-black);
    color: var(--color-white);
}
.container {
    width: 100%;
    padding: 0 20px;
}

/* PRELOAD */
.preload {
    background-color: var(--color-black);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: none;
}
.preload__logoWr {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}
.preload__logo {
    position: relative;
    width: 526px;
    height: 173px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding-top: 50px;
    transform: translateY(50px) scale(1);
    transition: transform 1.6s cubic-bezier(.4,0,.2,1), opacity 0.8s ease;
}
.preload__logo.move-up {
  transform: translateY(0) scale(1);
}

.preload__logo.hide {
    transform: translateY(-400px) scale(0.65);
    opacity: 0;
}
.p1, .p3 {
    width: 74px;
}
.p2 {
    width: 86px;
}
.p4 {
    width: 71px;
}
.p5 {
    width: 90px;
}
.p-border {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.p-char, .p-txt {
  opacity: 0;
  transform: translateY(10px);
  filter: blur(4px);
  transition: opacity 0.6s cubic-bezier(.22,1,.36,1),
              transform 0.6s cubic-bezier(.22,1,.36,1),
              filter 0.6s cubic-bezier(.22,1,.36,1);
}

.p-char.show, .p-txt.show {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
.p-txt {
    position: absolute;
    right: 0;
    top: 13px;
    width: 123px;
}
/* END PRELOAD */

/* HEADER */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 66px;
    background-color: var(--color-black);
    color: var(--color-white);
    z-index: 5;
}
.header__wr {
    height: 100%;
    justify-content: space-between;
}
.header__left {
    flex-direction: row-reverse;
    width: calc(50% + 65px);
    justify-content: space-between;
}
.header__right {
    width: calc(50% - 65px);
    justify-content: end;
}
.header__menu {
    gap: 45px;
}
.header__logo img {
    width: 130px;
    display: block;
}
.header__call-curr.header__call-btn img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}
.header__call-btn img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.headerMenuModal {
    display: none;
    background-color: var(--color-black);
}
.headerMenuModal__wr {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-right: 20px;
}
.headerMenuModal__nav-title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 10px;
    position: relative;
}
.headerMenuModal__nav-title span {
    font-size: 15px;
    position: absolute;
    top: -10px;
    margin-left: 7px;
}
.headerMenuModal__nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.headerMenuModal__nav:not(:last-child) {
    margin-bottom: 50px;
}
.headerMenuModal__nav ul li a {
    text-transform: uppercase;
    font-size: 12px;
    transition: all .3s;
}
.headerMenuModal__nav ul li a:hover {
    color: var(--color-red);
}
.headerMenuModal__col {
    padding: 170px 20px 70px 50px;
    position: relative;
}
.headerMenuModal__col::before, .headerMenuModal__col::after {
    content:'';
    background-image: linear-gradient(0turn, rgba(255, 252, 239, 0) 8%, rgba(255, 252, 239, 0.4) 50%, rgba(255, 252, 239, 0) 86%);
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.headerMenuModal__col::after {
    left: auto;
    right: 1px;
}
.headerMenuModal__info {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
.headerMenuModal__info a {
    font-size: 27px;
    font-weight: 500;
    text-decoration: underline;
    line-height: 1.2;
    text-transform: uppercase;
    display: block;
    margin-bottom: 10px;
}
.headerMenuModal__info-phone span {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
}
.headerMenuModal__info-soc {
    gap: 30px;
}
.headerMenuModal__col:nth-child(3)::after, .headerMenuModal__col:nth-child(4)::before {
    display: none;
}

.ul-nav {
    list-style-type: none;
    display: flex;
}
.header__menu>ul {
    gap: 45px;
}
.header__menu>ul>li>a {
    text-transform: uppercase;
    font-size: 12px;
    transition: color .3s ease;
}
.header__menu>ul>li.menu-item-has-children {
    padding-right: 24px;
    position: relative;
}
.header__menu > ul > li.menu-item-has-children::after {
  content: "";
  position: absolute;
  top: -1px;
  right: 0;
  width: 22px;
  height: 22px;
  background-color: var(--color-white);
  mask: url('../img/header/cor.svg') no-repeat center / contain;
  -webkit-mask: url('../img/header/cor.svg') no-repeat center / contain;
  transition: background-color .3s ease;
}

.header__menu > ul > li.menu-item-has-children:hover::after {
  background-color: var(--color-red);
}
.header__menu > ul > li:hover > a, .header__menu ul li a:hover {
    color: var(--color-red);
}
.subMenuWr {
    position: absolute;
    top: 20px;
    left: -10px;
    padding-top: 36px;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
    z-index: 2;
}
.header__menu .sub-menu {
    background-color: var(--color-black);
    text-align: left;
    max-width: 230px;
    border-radius: 5px;
    border: 1px solid #828282;
    box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.2);
    list-style-type: none;
    padding: 0;
    margin: 0;
    padding: 18px 20px;
    position: relative;
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
}
.header__menu .sub-menu::before {
    content:'';
    background-color: var(--color-black);
    top: -7.5px;
    position: absolute;
    border: solid transparent;
    width: 15px;
    aspect-ratio: 1;
    transform: rotate(45deg);
    border-color: transparent;
    background-clip: padding-box;
    border-width: 1px;
    border-style: solid;
    left: 42.2461px;
    right: auto;
}
.header__menu .menu-item-has-children:hover .subMenuWr {
    opacity: 1;
    visibility: visible;
}
.header__call {
    position: relative;
}
.header__call-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-white);
    width: 199px;
    height: 53px;
    justify-content: center;
    background-color: var(--color-red);
    border-radius: 5px;
    font-size: 12px;
    text-transform: uppercase;
    cursor: pointer;
}
.header__call-sub {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: absolute;
    top: 53px;
    left: -20px;
    border-radius: 0px 0px 10px 10px;
    background-color: var(--color-black);
    padding: 10px 20px 20px;
    display: none;
    z-index: 1;
}
.header__phone {
    display: block;
    margin-right: 30px;
}
.headercta {
    font-size: 14px;
    padding: 5px 20px;
    color: var(--color-black);
    position: relative;
    padding: 5px 40px 5px 20px;
    background-color: var(--color-white);
    display: none;
}
.headercta__cont, .headercta__cont a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.headercta__close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}
.headercta img {
    width: 21px;
    height: 21px;
    object-fit: contain;
    display: block;
}
.header__btnmenu {
    width: 53px;
    height: 53px;
    position: relative;
    background-color: #31373b;
    border-radius: 5px;
    cursor: pointer;
    margin-left: 5px;
}
.header__btnmenu span {
    display: block;
    position: absolute;
    height: 2px;
    width: 60%;
    background: var(--color-white);
    opacity: 1;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
    left: 20%;
}
.header__btnmenu span:nth-child(1) {
    top: 21px;
}
.header__btnmenu span:nth-child(2) {
    top: 29px;
}
.header__btnmenu.open span:nth-child(1) {
    transform: rotate(45deg);
    top: 50%;
}
.header__btnmenu.open span:nth-child(2) {
    transform: rotate(-45deg);
    top: 50%;
}
.headerMenuModal__info-mailwr {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.headerMenuModal__info-soc {
    gap: 10px;
    flex-wrap: wrap;
}
.headerMenuModal__info-soc img {
    width: 42px;
}
@media(min-width: 1900px) {
    .header__menu>ul>li>a {
        font-size: 14px;
    }
}
@media(max-width: 1760px) {
    .header__menu>ul {
        gap: 20px;
    }
}
@media(max-width: 1640px) {
    .headerMenuModal__wr {
        grid-template-columns: repeat(3, 1fr);
    }
    .headerMenuModal__col:nth-child(4) {
        grid-column: 1 / -1;
        grid-row: 2;
        padding: 0 40px 50px;
    }
    .headerMenuModal__info {
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .headerMenuModal__info-mailwr {
        flex-direction: row;
        gap: 30px;
    }
    .headerMenuModal__col:nth-child(3)::after {
        display: block;
    }
    .headerMenuModal__col:nth-child(2)::after, .headerMenuModal__col:nth-child(3)::before, .headerMenuModal__col:nth-child(4)::after {
        display: none;
    }
    .headerMenuModal__nav-title {
        font-size: 3.5vw;
        margin-bottom: 20px;
    }
    .headerMenuModal__nav ul li a {
        font-size: 14px;
    }
    .headerMenuModal__nav:not(:last-child) {
        margin-bottom: 6vw;
    }
    .headerMenuModal__info a {
        font-size: 2.4vw;
    }
    .headerMenuModal__col {
        padding: 90px 50px 70px;
    }
    .headerMenuModal__info-phone span {
        font-size: 1.2vw;
        margin-top: 12px;
    }
    .headerMenuModal__nav-title span {
        font-size: 1.7vw;
    }
}
@media(max-width: 1600px) {
    .header__left {
        flex-direction: row;
    }
    .header__left, .header__right {
        width: auto;
    }
    .header__wr {
        gap: 20px;
    }
    .header__menu>ul>li>a {
        font-size: 14px;
    }
    .header__menu>ul {
        gap: 25px;
    }
    .header__left {
        gap: 40px;
    }
    .header {
        height: 83px;
    }
    .header__logo img {
        width: 180px;
    }
}
@media(max-width: 1470px) {
    .header__logo img {
        width: 145px;
    }
    .header__menu>ul {
        gap: 20px;
    }
    .header__menu>ul>li>a {
        font-size: 13px;
    }
    .header {
        height: 73px;
    }
}
@media(max-width: 1340px) {
    .header__menu>ul>li>a {
        font-size: 12px;
    }
    .header__left {
        gap: 30px;
    }
    .header__logo img {
        width: 130px;
    }
    .header__phone {
        margin-right: 20px;
    }
}
@media(max-width: 1275px) {
    .header__menu {
        display: none;
    }
    .header__logo img {
        width: 180px;
    }
    .header__phone {
        font-size: 18px;
    }
    .header {
        height: 82px;
    }
}
@media(max-width:991px) {
    .headerMenuModal__col::before, .headerMenuModal__col::after, .headerMenuModal__col:nth-child(3)::after {
        display: none;
    }
    .headerMenuModal__col {
        padding: 90px 20px 70px;
    }
}
@media(max-width: 769px) {
    .header__logo img {
        width: 145px;
    }
    .header__phone {
        font-size: 14px;
    }
    .header {
        height: 65px;
    }
    .headerMenuModal__wr {
        grid-template-columns: repeat(2, 1fr);
    }
    .headerMenuModal__col:nth-child(4) {
        grid-row: 3;
    }
    .headerMenuModal__col {
        padding: 0 20px 30px;
    }
    .headerMenuModal__wr {
        padding-top: 50px;
    }
    .headerMenuModal__nav-title {
        font-size: 5vw;
    }
    .headerMenuModal__nav-title span {
        font-size: 2.5vw;
        margin-left: 5px;
    }
    .headerMenuModal__nav ul li a {
        font-size: 2.3vw;
    }
    .headerMenuModal__col:nth-child(4) {
        padding: 0 20px 50px;
    }
    .headerMenuModal__info a {
        font-size: 4vw;
    }
    .headerMenuModal__info {
        flex-direction: column;
    }
    .headerMenuModal__info-mailwr {
        flex-wrap: wrap;
    }
    .headerMenuModal__info-phone span {
        font-size: 1.8vw;
    }
}
@media(max-width: 635px) {
    .header__phone {
        display: none;
    }
    .headerMenuModal {
        height: 100vh;
        padding-bottom: 100px;
        overflow: auto;
    }
    
}
@media(max-width: 520px) {
    .headerMenuModal__wr {
        grid-template-columns: 1fr;
    }
    .headerMenuModal__col:nth-child(4) {
        grid-row: initial;
    }
    .headerMenuModal__nav-title {
        font-size: 8vw;
    }
    .headerMenuModal__nav ul li a {
        font-size: 3.5vw;
    }
    .headerMenuModal__nav:not(:last-child) {
        margin-bottom: 10vw;
    }
    .headerMenuModal__nav-title span {
        font-size: 4vw;
    }
    .headerMenuModal__info a {
        font-size: 6vw;
    }
    .headerMenuModal__info-phone span {
        font-size: 3.4vw;
        margin-top: 7px;
    }
    .headerMenuModal__info {
        gap: 30px;
    }
}
@media(max-width: 470px) {
    .header__call-btn {
        gap: 5px;
        width: 175px;
        height: 43px;
    }
    .header__btnmenu {
        width: 43px;
        height: 43px;
    }
    .header__btnmenu span:nth-child(2) {
        top: 25px;
    }
    .header__btnmenu span:nth-child(1) {
        top: 18px;
    }
    .container {
        padding: 0 10px;
    }
    .header__logo img {
        width: 120px;
    }
    .header {
        height: 60px;
    }
    .header__call-sub {
        top: 43px;
        left: -10px;
        padding: 10px 10px 10px;
    }
    
}
/* END HEADER */

/* HOME */
.heroHome {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.heroHome__video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.heroHome__video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.heroHome__block {
    width: 745px;
    position: absolute;
    bottom: 10px;
    left: 20px;
    z-index: 1;
    border-radius: 10px;
    overflow: hidden;
    color: var(--color-white);
    padding: 40px 30px 20px;
}
.heroHome__block::before {
    content:'';
    opacity: 0.8;
    background-color: var(--color-black);
    background-position: center center;
    backdrop-filter: blur(4px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.heroHome__block::after {
    content:'';
    backdrop-filter: blur(4px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.heroHome__block h1 {
    font-size: 47px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -1.1px;
    line-height: 53px;
    margin: 0 0 15px;
}
.type-blur .char {
  display: inline-block;
  opacity: 0;
  filter: blur(4px);
  transform: translateY(6px);
  animation: charIn 0.6s ease forwards;
}

@keyframes charIn {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}
.heroHome__block-txt {
    line-height: 1.3;
    margin-bottom: 20px;
}
.heroHome__block-btns {
    gap: 15px;
}
@media(max-width: 1600px) {
    .heroHome__block-txt {
        font-size: clamp(14px, 4vw, 16px);
    }   
}
@media(max-width: 991px) {
    .heroHome__block {
        top: 0px;
        bottom: auto;
        width: 100%;
        left: 0;
        border-radius: 0;
        position: relative;
        margin-top: 82px;
        padding: 50px 30px 50px;
    }
    .heroHome__block h1 {
        font-size: clamp(22px, 6vw, 60px);
        line-height: 1.2;
    }
    .heroHome__video {
        position: initial;
        height: auto;
    }
    .heroHome {
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-end;
        height: auto;
    }
    .heroHome__block-txt {
        font-size: clamp(14px, 3vw, 18px);
    }
    .heroHome__block::before {
        background-color: #000;
    }
}
@media(max-width: 769px) {
    .heroHome__block {
        margin-top: 65px;
    }
}
@media(max-width: 660px) {
    .heroHome__block {
        text-align: center;
    }
    .heroHome__block-btns {
        flex-direction: column;
    }
    .heroHome__block-btns .btn {
        width: 100%;
    }
    .heroHome__block-btns .btn {
        padding: 15px 40px;
    }
}
@media(max-width: 470px) {
    .heroHome__block {
        margin-top: 60px;
        padding: 50px 10px 50px;
    }
    .heroHome__block h1 {
        font-size: clamp(22px, 6.4vw, 37px);
    }
    .btn {
        font-size: 16px;
    }
    .heroHome__block-btns .btn {
        padding: 13px 40px;
    }
}

.projectsHome {
    padding: 100px 0;
}
.topSectionTitles h2 {
    margin: 0;
    font-weight: normal;
    font-size: 26px;
}
.topSectionTitles a {
    color: var(--color-red)
}
.topSectionTitles {
    text-transform: uppercase;
    font-size: 26px;
    color: var(--color-gray);
    font-family: 'Foglihten06', Arial, sans-serif;
    font-weight: 400;
} 
.projectsHome__blocks {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.projectsHome__block {
    display: block;
    padding-bottom: 75%;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.projectsHome__block-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.projectsHome__block-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .9s;
}
.projectsHome__block:hover .projectsHome__block-img img {
    transform: scale(1.1);
}
.projectsHome__block-cont {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.40));
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    padding: 30px;
}
.projectsHome__block-top {
    gap: 20px;
}
.projectsHome__block-title {
    font-size: 24px;
    font-weight: 500;
}
.projectsHome__block-bot {
    font-size: clamp(14px, 1.4vw, 18px);
    line-height: 1.3;
    font-weight: 300;
}
.projectsHome__block-price {
    font-weight: 700;
    margin-top: 5px;
}
@media(max-width: 991px) {
    .projectsHome {
        padding: 50px 0;
    }
    .projectsHome__blocks {
        grid-template-columns: 1fr;
    }
    .projectsHome__block-title {
        font-size: clamp(17px, 3vw, 25px);
    }
    .projectsHome__block-bot {
        font-size: clamp(14px, 2vw, 18px);
    }
}
@media(max-width: 769px) {
    .projectsHome__blocks {
        gap: 10px;
    }
}
@media(max-width: 575px) {
    .projectsHome__block-top svg {
        width: 20px;
        height: 20px;
    }
    .projectsHome__block-cont {
        padding: 20px;
    }
    .projectsHome__blocks {
        margin-top: 25px;
    }
}

.servicesHome {
    padding: 90px 0;
}
.servicesHome__blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 300px);
    gap: 20px;
}
.servicesHome__block:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
.servicesHome__block:last-child {
    grid-column: 3 / 5;
    grid-row: 2 / 3;
}
.servicesHome__block {
    padding: 25px;
    border-color: #dedede;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    background-color: #ffffff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.servicesHome__block-title {
    display: flex;
    align-items: center;
    column-gap: 10px;
    text-transform: uppercase;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 500;
}
.servicesHome__block-title span {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--color-red);
    flex: 0 0 16px;
}
.servicesHome__block-img {
    margin-top: 10px;
    border-radius: 5px;
    overflow: hidden;
    height: 100%;
}
.servicesHome__block-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.h2 {
    font-size: 56px;
    line-height: 1.2;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0;
}
.h2 span {
    color: var(--color-red);
}
.servicesHome .h2 {
    width: 80%;
    margin: 50px 0 50px 20%;
}
@media(max-width: 1550px) {
    .servicesHome__block-title {
        font-size: 22px;
    }
}
@media(max-width: 1300px) {
    .servicesHome__block-title {
        font-size: 18px;
    }
    .servicesHome .h2 {
        width: 100%;
        margin: 50px 0 50px 0;
    }
    .h2 {
        font-size: 46px;
    }
}
@media(max-width: 1200px) {
    .servicesHome__blocks {
        grid-template-columns: repeat(2, 1fr);
    }
    .servicesHome__block:last-child, .servicesHome__block:nth-child(1) {
        grid-column: initial;
        grid-row: initial;
    }
    .servicesHome__block-title span {
        width: 12px;
        height: 12px;
        flex: 0 0 12px;
    }
    .servicesHome__block {
        padding: 15px;
    }
}
@media(max-width: 767px) {
    .h2 {
        font-size: 32px;
    }
    .servicesHome .h2 {
        margin: 30px 0;
    }
    .topSectionTitles, .topSectionTitles h2 {
        font-size: 3vw;
    }
}
@media(max-width: 575px) {
    .servicesHome__blocks {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        gap: 10px;
    }
    .servicesHome__block {
        max-height: 320px;
    }
    .servicesHome__block-title {
        font-size: 20px;
    }
    .h2 {
        font-size: 28px;
    }
    .topSectionTitles, .topSectionTitles h2 {
        font-size: 4vw;
    }
    .servicesHome {
        padding: 50px 0;
    }
}
.vistHome {
    padding-top: 10px;
}
.vistHomeWr {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 20px;
}
.vistHomeWr__banner {
    padding: 40px 30px 30px;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    border-radius: 5px;
    font-weight: 300;
    font-size: 16px;
}
.vistHomeWr__banner-txt {
    font-size: clamp(13px, 2vw, 18px);
    width: 80%;
    line-height: 1.4;
}
.vistHomeWr__banner-txt b {
    font-weight: 600;
}
.vistHomeWr__banner-txt a {
    text-decoration: underline;
    text-underline-offset: 4px;
}
.vistHomeWr__banner-title {
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    margin-bottom: 20px;
    text-transform: uppercase;
}
.vistHomeWr__banner-btn .btn {
    display: block;
    width: 100%;
    padding: 20px 40px;
}
.vistHomeWr__video {
    max-height: 700px;
    border-radius: 5px;
    overflow: hidden;
}
.vistHomeWr__video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.videoHome {
    padding: 100px 0;
}
.videoHome__video {
    border-radius: 5px;
    overflow: hidden;
}
.videoHome__video video {
    width: 100%;
}
@media(max-width: 991px) {
    .vistHomeWr {
        display: flex;
        flex-direction: column-reverse;
    }
    .vistHomeWr__video {
        max-height: initial;
    }
    .videoHome {
        padding: 40px 0;
    }
    .vistHomeWr__banner-txt {
        width: 100%;
    }
}
@media(max-width: 575px) {
    .vistHomeWr__banner {
        padding: 20px;
        gap: 10px;
    }
    .vistHomeWr__banner-title {
        font-size: clamp(20px, 8vw, 40px);
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 10px;
    }
    .vistHomeWr__banner-btn .btn {
        padding: 15px 40px;
    }
}

.aboutHome__blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 100px;
    grid-template-rows: 33vw;
}
.aboutHome__block {
    grid-column: 3 / 5;
}
.aboutHome__title.h2 {
    margin-top: 0;
    margin-bottom: 0;
}
@media(min-width: 1301px) {
    .aboutHome__title.h2 {
        font-size: 80px;
    }
}
.aboutHome__titleWr .h2:nth-child(2) {
    margin-top: 0;
    margin-bottom: 40px;
}
.aboutHome__txt {
    width: 40%;
    line-height: 1.3;
    color: #4c4b49;
    margin-left: 20%;
}
.aboutHome__block-img {
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    width: 100%;
}
.aboutHome__block {
    border-radius: 5px;
    border: 1px solid #968b87;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    transition: all .3s;
}
.aboutHome__block-title {
    font-size: 32px;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.2;
}
.aboutHome__block-img-bg {
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 65%;
    display: flex;
    justify-content: end;
}
.aboutHome__block-img-bg img {
    display: block;
    width: 100%;
}
.aboutHome__block-btn {
    font-size: 51px;
    text-transform: uppercase;
    font-weight: 500;
    color: #4c4b49;
    display: flex;
    align-items: center;
    gap: 7px;
}
.aboutHome__block-btn svg {
    width: 80px;
    height: 79px;
    transition: all .3s;
}
.aboutHome__block:hover {
    background-color: var(--color-black);
    color: var(--color-white);
}
.aboutHome__block:hover .aboutHome__block-btn svg {
    transform: rotate(45deg);
}
.aboutHome__block:hover .aboutHome__block-btn {
    color: var(--color-white);
}

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background: #c41111;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  transition: transform 0.1s ease, opacity 0.1s ease;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-cursor span {
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 10px;
}

@media(max-width: 1300px) {
    .aboutHome__title.h2 {
        text-align: right;
        margin-bottom: 15px;
    }
    .aboutHome__txt {
        width: 49%;
        font-size: clamp(16px, 2vw, 18px);
        margin-left: 51%;
    }
    .aboutHome__titleWr {
        display: flex;
        flex-wrap: wrap;
        justify-content: end;
        margin-top: 20px;
    }
    .aboutHome__titleWr .h2 {
        font-size: clamp(28px, 4.4vw, 60px);        
    }
    .aboutHome__titleWr .h2:nth-child(2) {
        margin-bottom: 30px;
    }
    .aboutHome__blocks {
        margin-top: 50px;
    }
}
@media(max-width: 1200px) {
    .aboutHome__block-img {  
        width: calc(100% / 2 - 10px);
        aspect-ratio: 4 / 5;
    }
    .aboutHome__blocks {
        display: flex;
        flex-wrap: wrap;
    }
    .aboutHome__block {
        width: 100%;
        aspect-ratio: 8 / 5;
    }
}
@media(max-width: 650px) {
    .aboutHome__title.h2 {
        text-align: left;
    }
    .aboutHome__txt {
        width: 100%;
        margin-left: 0;
    }
}
@media(max-width: 575px) {
    .aboutHome__block-img {
        width: 100%;
        aspect-ratio: 8 / 5;
    }
    .aboutHome__blocks {
        flex-direction: column-reverse;
    }
    .aboutHome__block {
        background-color: var(--color-black);
        color: var(--color-white);
    }
    .aboutHome__block-btn {
        font-size: 32px;
        color: var(--color-white);
    }
    .aboutHome__block-btn svg {
        width: 58px;
        height: 58px;
    }
    .aboutHome__block-title {
        font-size: 24px;
    }
}

.requestHome {
    padding: 50px 0;
}
.requestHomeWr {
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    padding: 20px;
    background-color: #fff;
}
.requestHome__subtitle {
    color: var(--color-gray);
    font-size: 18px;
    margin-bottom: 20px;
}
.requestHome .h2 {
    text-transform: none;
    line-height: 1.1;
    margin-bottom: 20px;
}
.requestHome__txt {
    font-size: 18px;
    line-height: 1.2;
}
.requestHome__btns {
    margin-top: 20px;
    display: flex;
    gap: 15px;
}
.requestHome__btns .btn {
    padding: 17px 40px;
}
.requestHome__proj {
    display: flex;
    gap: 40px;
    margin-top: 40px;
}
.requestHome__projWr {
    width: 50%;
    position: relative;
}
.requestHome__proj-gal {
    border-radius: 5px;
    overflow: hidden;
    height: 560px;
    width: 100%;
    margin-bottom: 0!important;
}
.requestHome__proj-gal img {
    width: 100%;
    height: 560px;
    object-fit: cover;
}

.requestHome__proj-gal .slick-dots {
    bottom: 20px;
}
.slick-dots li button:before {
    display: none;
}
.requestHome__proj-gal .slick-dots li button {
    background-color: var(--color-white);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    padding: 0 7px;
}
.requestHome__proj-gal .slick-dots .slick-active button {
    background-color: var(--color-red);
}
.requestHome__video {
    width: 50%;
    height: 560px;
    overflow: hidden;
    border-radius: 5px;
    position: relative;
}
.requestHome__video-cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    cursor: pointer;
}
.requestHome__video video, .requestHome__video-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.requestHome__video-play {
    position: absolute;
    width: 100px;
    height: 100px;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(196, 17, 17, 0.64);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
}
.requestHome__video-play svg {
    width: 50px;
    height: 50px;
}
.requestHome__video:hover .requestHome__video-play {
    background-color: var(--color-red);
    transform: translate(-50%, -50%) scale(1.07);
}
.requestHome__proj-gal-arr {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 94%;
    top: 50%;
    transform: translateY(-50%);
    left: 3%;
}
.requestHome__proj-gal-arr .slick-arrow {
    width: 40px;
    height: 40px;
    background-color: var(--color-red);
    border-radius: 50%;
    position: relative;
}
.slick-arrow {
    cursor: pointer;
}
.requestHome__proj-gal-arr .slick-arrow::before {
    content: '';
    background: url('../img/home/arral.svg') no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
}
.requestHome__proj-gal-arr .requestHome__proj-gal-prev::before {
    transform: translate(-50%, -50%) rotate(180deg);
}
.requestHome__proj-title {
    font-size: 28px;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 10px;
}
.requestHome__proj-address {
    color: var(--color-gray);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}
.requestHome__proj-address img {
    width: 30px;
}
.requestHome__proj-galwr {
    position: relative;
}
@media(max-width: 1400px) {
    .requestHome__proj-gal, .requestHome__proj-gal img, .requestHome__video {
        height: 460px;
    }
}
@media(max-width: 1200px) {
    .requestHome__proj-gal, .requestHome__proj-gal img, .requestHome__video {
        height: 360px;
    }
}
@media(max-width: 991px) {
    .requestHome__proj {
        flex-direction: column;
    }
    .requestHome__projWr, .requestHome__video {
        width: 100%;
    }
    .requestHome__proj-gal, .requestHome__proj-gal img, .requestHome__video {
        height: 60vw;
    }
    .requestHome__btns .btn {
        width: 50%;
        font-size: clamp(16px, 2vw, 18px);
    }
}
@media(max-width: 769px) {
    .requestHome__btns {
        flex-direction: column;
    }
    .requestHome__btns .btn {
        width: 100%;
    }
    .requestHome .h2 br {
        display: none;
    }
}
@media(max-width: 575px) {
    .requestHome__btns .btn {
        padding: 10px 20px;
    }
    .requestHome__subtitle {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .requestHome__txt {
        font-size: 14px;
    }
    .requestHome__txt br {
        display: none;
    }
    .requestHome__proj {
        margin-top: 30px;
    }
    .requestHome__proj-gal .slick-dots li button {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        padding: 0 2px;
    }
    .slick-dots li, .slick-dots li button, .slick-next, .slick-prev {
        width: 10px;
        height: 10px;
    }
    .requestHome__proj-title {
        font-size: 20px;
        margin-bottom: 2px;
        margin-top: 5px;
    }
    .requestHome__proj-txt, .requestHome__proj-address {
        font-size: 13px;
        line-height: 1.2;
    }
    .requestHome__proj-gal-arr .slick-arrow, .requestHome__proj-gal-arr .slick-arrow::before {
        width: 30px;
        height: 30px;
    }
    .requestHome__video-play {
        width: 70px;
        height: 70px;
    }
    .requestHome__video-play svg {
        width: 35px;
        height: 35px;
    }
}

.revHome {
    padding: 100px 0;
}
.revHome .h2 {
    margin-left: 50%;
}
.revHome__block {
    margin-top: 60px;
}
@media(max-width: 1200px) {
    .revHome .h2 {
        margin-left: 0;
        margin-top: 20px;
    }
    .revHome {
        padding: 50px 0;
    }
}
@media(max-width: 575px) {
    .revHome .h2 {
        margin-top: 15px;
        font-size: clamp(26px, 10vw, 38px);
    }
    .revHome__block {
        margin-top: 30px;
    }
}


.blogHome {
    padding: 100px 0;
}
.blogHome__titles {
    margin-left: 20%;
    width: 60%;
}
.blogHome__titles .h2:nth-child(2) {
    font-size: 40px;
    margin-top: 15px;
}
.blogHome__blocks {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.blogHome__block-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    margin-bottom: 20px;
}
.blogHome__block-img img {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.blogHome__block-title {
    font-size: 20px;
    font-weight: 500;
}
.blogHome__block-excerpt {
    color: rgba(0, 0, 0, .9);
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 300;
}
.blogHome__block-date {
    color: rgba(0, 0, 0, .5);
    font-size: 10px;
    letter-spacing: 1px;
    margin-top: 15px;
    vertical-align: middle;
}
.blogHome__btn {
    margin-top: 100px;
    display: flex;
    justify-content: center;
}
.blogHome__btn .btn {
    padding: 21px 90px;
}
@media(max-width: 1300px) {
    .blogHome__titles {
        width: 78%;
    }
    .blogHome__titles .h2 br {
        display: none;
    }
    .blogHome__blocks {
        grid-template-columns: repeat(3, 1fr);
    }
    .blogHome__block:nth-child(4) {
        display: none;
    }
}
@media(max-width: 1200px) {
    .blogHome__titles {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }
    .blogHome__titles .h2:nth-child(2) {
        margin-top: 10px;
    }
}
@media(max-width: 991px) {
    .blogHome__blocks {
        grid-template-columns: repeat(2, 1fr);
    }
    .blogHome__block:nth-child(4) {
        display: block;
    }
}
@media(max-width: 769px) {
    .blogHome__titles .h2:nth-child(1){
        font-size: clamp(30px, 8vw, 42px);
    }
    .blogHome__titles .h2:nth-child(2){
        font-size: clamp(18px, 6vw, 30px);
    }
}
@media(max-width: 575px) {
    .blogHome__blocks {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .blogHome__btn {
        margin-top: 50px;
    }
    .blogHome__btn .btn {
        padding: 13px 25px;
        width: 100%;
    }
    .blogHome {
        padding: 50px 0;
    }
}
/* END HOME */

/* FOOTER */
.footerWrapper {
    padding-top: 100px;
}
.contactHome {
    gap: 20px;
    justify-content: space-between;
    position: sticky;
    top: 100px;
    padding-bottom: 300px;
}
.contactHome__wr {
    width: calc(50% - 10px);
}
.footer {
    min-height: 1151px;
}
.footer__blocks-wr {
    background-color: var(--color-black);
    border-radius: 5px;
    width: calc(50% - 10px);
    position: relative;
    padding: 23px 23px 50px;
}
.footer__blocks {
    display: flex;
    gap: 25px;
    z-index: 1;
    position: relative;
}
.footer__info-phones a {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 7px;
}
.footer__info-phones a span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #13e846;
}
.footer__info-time {
    color: var(--color-gray);
    font-weight: 700;
    margin-top: 5px;
}
.footer__info-soc {
    margin-top: 30px;
    gap: 10px;
}
.footer__info-soc a img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.footer__info-bottom {
    color: var(--color-gray);
    font-size: 13px;
    line-height: 1.2;
    width: 25%;
    position: absolute;
    bottom: 20px;
    margin-left: calc(15% + 50px);
}
@media(min-width: 1801px) {
    .footer__info-bottom {
        margin-left: calc(25%);
    }
}
.footer__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    width: 25%;
}
.footer__logo {
    width: 25%;
}
.footer__logo img {
    width: 100%;
    max-height: 590px;
}
.footer__menus {
    width: 50%;
    color: var(--color-gray);
}
.footer__menu-title {
    color: #4c4b49;
    font-weight: 700;
    margin-bottom: 15px;
}
.footer__menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.footer__menu ul a {
    font-size: 13px;
    line-height: 1.1;
    transition: all .3s;
    display: block;
}
.footer__menu ul li:not(:last-child) {
    margin-bottom: 6px;
}
.footer__menu ul a:hover {
    color: var(--color-red)
}
.footer__menu:not(:last-child) {
    margin-bottom: 30px;
}
.footer__menus {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.contactHome__wr .h2 {
    font-size: 54px;
    margin-bottom: 20px;
}
.contactHome__txt {
    width: 71%;
    line-height: 1.2;
    margin-bottom: 20px;
}
.contactHome__img {
    margin-bottom: 10px;
}
.contactHome__img img {
    border-radius: 5px;
    object-fit: cover;
    max-height: 406px;
    width: 100%;
}
.contactHome__form-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.contactHome__form-inputs input {
    color: #fff;
    border: 1px solid #000;
    background-color: var(--color-black);
    border-radius: 5px;
    font-size: 15px;
    font-weight: 400;
    height: 50px;
    font-family: 'InterTight';
    padding: 20px;
}
.contactHome__form-inputs input::placeholder {
    color: var(--color-gray);
}
.form__accerpt {
    margin: 20px 0;
    font-size: 12px;
}
.form__accerpt label {
    display: flex;
    align-items: center;
}
.form__accerpt input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.form__accerpt-indicator {
    width: 20px;
    height: 20px;
    border: 2px solid #000;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    opacity: .6;
    transition: all .2s ease;
    margin-right: 10px;
    flex: 0 0 20px;
}
.form__accerpt-indicator:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity .15s ease;
}
.form__accerpt input:checked + .form__accerpt-indicator {
  opacity: 1;
  border-color: #000;
}
.form__accerpt input:checked + .form__accerpt-indicator::after {
  opacity: 1;
}
.form__accerpt:hover .form__accerpt-indicator {
  opacity: 1;
}
.contactHome__form .btn {
    font-size: 35px;
    width: 100%;
    padding: 4px 40px;
}
.contactHome__imgmob {
    display: none;
}
.contactHome__imgmob img {
    border-radius: 5px;
}
.footer__logo img:nth-child(2) {
    display: none;
}

@media(max-width: 1800px) {
    .footer__blocks-wr {
        width: 100%;
    }
    .footer__blocks {
        gap: 50px;
    }
    .footer__logo img {
        max-height: 540px;
    }
    .footer__logo {
        width: 15%;
    }
    .footer {
        min-height: initial;
        z-index: 1;
        position: relative;
        margin-bottom: 80px;
    }
    .contactHome__wr {
        width: 100%;
        display: flex;
        gap: 30px;
    }
    .contactHome {
        flex-direction: column;
        position: relative;
        top: 0;
        padding-bottom: 200px;
    }
    .contactHome__img {
        display: none;
    }
    .contactHome__imgmob {
        display: block;
        width: 380px;
    }
    .contactHome__imgmob img {
        height: 100%;
        object-fit: cover;
    }
    .contactHome__wr .h2 {
        font-size: clamp(30px, 5.5vw, 85px);
    }
    .contactHome__col {
        flex: 1;
    }
    .contactHome__form-inputs input {
        height: 60px;
    }
    .contactHome__txt {
        font-size: 20px;
    }
    .contactHome__form .btn {
        padding: 13px 40px;
    }
    .footer__menu ul a {
        font-size: clamp(12px, 1.2vw, 17px);
    }
    .footer__menu ul li:not(:last-child) {
        margin-bottom: 9px;
    }
    .footer__menu-title {
        font-size: clamp(16px, 1.2vw, 20px);
    }
    .footer__info-phones a {
        font-size: 20px;
    }
}
@media(max-width: 1200px) {
    .contactHome__form .btn {
        font-size: 20px;
    }
}
@media(max-width: 991px) {
    .contactHome__wr {
        flex-direction: column;
    }
    .contactHome__imgmob {
        display: none;
    }
    .contactHome__img {
        display: block;
    }
    .contactHome__txt {
        width: 100%;
    }
    .contactHome__txt {
        font-size: clamp(16px, 2vw, 18px);
    }
    .footerWrapper {
        padding-top: 50px;
    }
    .contactHome {
        padding-bottom: 100px;
    }
    .footer__info-bottom {
        width: 40%;
        position: initial;
        margin-left: 0;
        font-size: clamp(12px, 2.2vw, 16px);
    }
    .footer__blocks {
        display: grid;
        grid-template-columns: 25% 1fr;
        grid-template-rows: auto;
    }
    .footer__logo {
        grid-row: 1 / 3;
        width: 100%;
    }
    .footer__logo img {
        max-height: initial;
    }
    .footer__info, .footer__menus {
        width: 100%;
    }
    .footer__info-top {
        display: flex;
        justify-content: space-between;
    }
    .footer__info-soc {
        margin-top: 0;
    }
    .footer__menu ul a {
        font-size: clamp(12px, 2.2vw, 16px);
    }
    .footer__info-phones a {
        font-size: clamp(16px, 2.5vw, 26px);
    }
}
@media(max-width: 660px) {
    .footer__blocks {
        grid-template-columns: 1fr;
    }
    .footer__logo img:nth-child(1) {
        display: none;
    }
    .footer__logo img:nth-child(2) {
        display: block;
    }
    .footer__blocks-wr {
        padding: 40px 20px 20px;
    }
    .footer__info-phones a {
        font-size: clamp(16px, 3.5vw, 27px);
        white-space: nowrap;
    }
    .footer__info-bottom {
        width: 100%;
        margin-top: 35px;
    }
    .footer__info-soc a img {
        width: 30px;
        height: 30px;
    }
    .footer__info-soc {
        gap: 5px;
        flex-wrap: wrap;
        justify-content: end;
    }
    .footer__info-top {
        gap: 20px;
    }
    .footer__info-time {
        font-size: 12px;
    }
}
@media(max-width: 575px) {
    .contactHome__form-inputs {
       grid-template-columns: 1fr;
    }
    .contactHome__form .btn {
        padding: 13px 10px;
        font-size: 18px;
    }
}
/* END FOOTER */

/* Cookie modal */
.cookieModal {
    background-color: var(--color-black);
    border-radius: 5px;
    padding: 20px 30px;
    max-width: 340px;
    width: 100%;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .3);
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 10;
    color: var(--color-white);
    display: none;
}
.cookieModal__txt {
    font-size: 14px;
    margin-bottom: 15px;
}
.cookieModal__btn .btn {
    font-size: 13px;
    text-transform:none;
    padding: 10px 20px;
}
.cookieModal__close {
    width: 10px;
    height: 10px;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}
.cookieModal__close svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
/* END Cookie modal */

/* ПРОЕКТЫ */
.mainPadding {
    padding-top: 100px;
}
.projectsPage {
    padding-top: 50px;
}
.projectsPage__txt {
    font-size: 20px;
    font-weight: normal;
    color: #4c4b49;
    margin: 0;
}
.projectsHome__blocks.col3 {
    grid-template-columns: repeat(3, 1fr);
}
.projectsPage__title {
    font-size: 60px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    margin: 10px 0 30px;
}
.projectsPage__tabs {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.projectsPage__tab {
    font-size: 18px;
    font-weight: 500;
    border-radius: 5px;
    text-transform: uppercase;
    height: 40px;
    padding: 5px 25px;
    border: 1px solid #dedede;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: all .3s;
}
.projectsPage__tab.active, .projectsPage__tab:hover {
    background-color: var(--color-red);
    color: var(--color-white);
}
.projectsPage .projectsHome__blocks {
    margin-top: 20px;
}
@media(max-width: 991px) {
    .projectsHome__blocks.col3 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media(max-width: 769px) {
    .projectsHome__blocks.col3 {
        grid-template-columns: 1fr;
    }
}
@media(max-width: 575px) {
    .projectsPage__tabs {
        flex-direction: column;
    }
    .projectsPage__txt {
        font-size: 16px;
        text-align: center;
        line-height: 1.3;
    }
    .projectsPage__title {
        font-size: 52px;
        text-align: center;
    }
    .projectsPage .projectsHome__blocks {
        margin-top: 30px;
    }
    .projectsPage {
        padding-top: 10px;
    }
    .projectsPage__tab {
        font-size: 16px;
        height: auto;
        padding: 8px 10px;
    }
}
/* END ПРОЕКТЫ */

/* ПРОЕКТ */
.heroProject {
    position: relative;
    width: 100%;
    height: 100vh;
}
.heroProject__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.heroProject__bg video, .heroProject__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.heroProject__bg::before {
    content: '';
    opacity: 0.4;
    background-color: #000000;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.heroProject__block {
    position: absolute;
    top: 60%;
    left: 60px;
    z-index: 1;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 55%;
}
.heroProject__block h1 {
    font-size: clamp(25px, 4vw, 40px);
    margin: 0;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
}
.heroProject__block-vals {
    display: flex;
    gap: 38px;
    font-size: 20px;
    font-weight: 500;
    flex-wrap: wrap;
}
.heroProject__block-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.heroProject__block-btns .btn {
    font-size: 15px;
    padding: 10px 25px;
}
.modal {
    display: none;
}
.priceCalcForm {
    width: 560px;
    padding: 0;
}
.priceCalcForm__img {
    height: 420px;
}
.priceCalcForm__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.priceCalcForm__cont {
    background-color: var(--color-white);
    padding: 40px 45px;
}
.priceCalcForm__title {
    font-size: 36px;
    line-height: 1.23;
    margin: 0 0 24px;
    text-align: center;
    font-weight: 500;
}
.priceCalcForm__cont .contactHome__form-inputs input {
    color: var(--color-black);
    border: 1px solid #c9c9c9;
    background: none;
    font-size: 15px;
    height: 60px;
    padding: 20px;
}
.priceCalcForm__cont .contactHome__form-inputs {
    grid-template-columns: 1fr;
}
.priceCalcForm__cont form .btn {
    font-size: 16px;
    height: 60px;
    width: 100%;
    text-transform: none;
}
.priceCalcForm .fancybox-button svg path {
    fill: rgb(196 19 18);
}
@media(max-width: 1200px) {
    .heroProject__block {
        width: 75%;
    }
}
@media(max-width: 991px) {
    .heroProject__block {
        width: 100%;
        top: 50%;
        left: 0;
        padding: 20px;
        transform: translateY(-50%);
    }
    .heroProject__block-vals {
        gap: 5px 20px;
    }
}
@media(max-width: 575px) {
    .priceCalcForm__cont {
        padding: 20px;
    }
    .priceCalcForm__title {
        font-size: 28px;
    }
    .priceCalcForm__img {
        height: 300px;
    }
    .priceCalcForm__cont .contactHome__form-inputs input {
        height: 50px;
        padding: 10px;
    }
    .priceCalcForm__cont form .btn {
        height: 50px;
    }
    .heroProject__block-btns .btn:nth-child(1) {
        width: 100%;
    }
}

.planProject {
    padding: 100px 0 50px;
}
.planProject__title {
    font-size: 19px;
    color: #8e8e8e;
}
.h2-low {
    font-size: 40px;
    text-transform: none;
}
.planProject__blocks {
    margin-top: 20px;
    gap: 20px;
}
.planProject__blocks-col {
    width: calc(100% / 2 - 10px);
}
.planProject__sliderwr {
    position: relative;
}
.planProject__vals ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.planProject__vals ul li:nth-child(1) {
    border-top: 1px solid var(--color-black);
}
.planProject__vals ul li {
    padding: 15px 20px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-black);
}
.planProject__val {
    font-size: clamp(20px, 2vw, 42px);
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}
.planProject__slider {
    border: 1px solid #dedede;
    border-radius: 5px;
    overflow: hidden;
    /* display: flex; */
}

@media(max-width: 991px) {
    .planProject__blocks {
        flex-direction: column;
    }
    .planProject__blocks-col {
        width: 100%;
    }
}
@media(max-width: 575px) {
    .h2-low {
        font-size: 28px;
        line-height: 1.1;
    }
    .planProject__title {
        font-size: 15px;
    }
    .planProject {
        padding-top: 50px;
    }
}

.specProject {
    padding: 70px 0;
}
.specProject__blocks {
    display: flex;
    gap: 27px;
    flex-wrap: wrap;
    margin-top: 40px;
}
.specProject__block {
    padding: 25px;
    border-color: #dedede;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    background-color: #ffffff;
    overflow: hidden;
    font-size: clamp(16px, 2vw, 18px);
    color: #4c4b49;
    line-height: 1.3;
}
.specProject__block.w50 {
    width: calc(100% / 2 - 15px);
}
.specProject__block.w100 {
    width: 100%;
}
.specProject__block-title {
    margin-bottom: 25px;
}
.specProject__block h5 {
    color: #b7b6ae;
    font-size: 16px;
    font-weight: 400;
    margin: 30px 0 3px;
}
.specProject__block p {
    margin: 0;
}
.specProject__block h5:first-child {
    margin-top: 0;
}
.specProject__gen {
    gap: 20px 40px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.specProject__block-cont ul {
    padding-left: 30px;
}
.specProject-txt {
    margin-top: 120px;
    font-size: clamp(16px, 2vw, 18px);
    color: #4c4b49;
    line-height: 1.3;
    width: 70%;
}
.specProject-txt h5 {
    font-size: clamp(16px, 2vw, 18px);
    margin-bottom: 15px;
}
.specProject-txt ul {
    margin: 0;
    padding-left: 30px;
}
@media(max-width: 991px) {
    .specProject-txt {
        width: 100%;
        margin-top: 70px;
    }
}
@media(max-width: 769px) {
    .specProject__blocks {
        gap: 14px;
        margin-top: 30px;
    }
    .specProject__block.w50 {
        width: calc(100% / 2 - 7px);
    }
}
@media(max-width: 600px) {
    .specProject__block.w50 {
        width: 100%;
    }
    .specProject {
        padding: 50px 0;
    }
}

.visualProject {
    padding: 80px 0;
}
.visualProject__gal {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.visualProject__gal a {
    width: calc(100% / 2 - 5px);
}
.visualProject__gal a img {
    border-radius: 10px;
    width: 100%;
}
.visualProject__gal a:first-child, .visualProject__gal a:nth-child(3n+1) {
    width: 100%;
}
@media(max-width: 575px) {
    .visualProject__gal a {
        width: 100%;
    }
}

.deadlinesProj {
    padding: 70px 0;
}
.deadlinesProj__subtitle {
    font-size: 16px;
    color: #828282;
    font-weight: 300;
    margin-top: 10px;
    line-height: 1.2;
}
.deadlinesProj__blocks-wr {
    margin-top: 30px;
}
.deadlinesProj__blocks {
    gap: 63px;
    justify-content: space-between;
}
.deadlinesProj__block-img {
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 5px;
}
.deadlinesProj__block-img img {
    border-radius: 5px;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    transition: all .5s;
}
.deadlinesProj__block-img:hover img {
    transform: scale(1.04);
}
.deadlinesProj__block-title {
    font-size: 27px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.3;
}
.deadlinesProj__block-txt {
    font-size: 14px;
    color: #828282;
    font-weight: 300;
}
@media(max-width: 1700px) {
    .deadlinesProj__blocks-wr {
        width: calc(100vw + 43pc);
        padding-right: 20px;
    }
    .deadlinesProj__blocks {
        gap: 40px;
    }
    .deadlinesProj__block-title {
        font-size: clamp(18px, 3vw, 32px);
    }
    .deadlinesProj__block-txt {
        font-size: clamp(14px, 2vw, 17px);
    }
    .deadlinesProj__blocks-scroll {
        overflow: auto;
        padding-bottom: 30px;
    }
}
@media(max-width: 575px) {
    .deadlinesProj__block-img {
        margin-bottom: 7px;   
    }
    .deadlinesProj__blocks {
        gap: 20px;
    }
    .deadlinesProj {
        padding: 20px 0;
    }
}

.consultProject {
    padding: 70px 0;
}
.consultProject__block {
    gap: 40px;
    align-items: stretch;
}
.consultProject__btns {
    gap: 20px;
}
.consultProject__btns .btn {
    gap: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 21px 10px;
    text-align: center;
    font-size: clamp(13px, 1vw, 18px);
}
.consultProject__btns .btn img {
    width: 28px;
    display: block;
}
.consultProject__block-txt {
    font-size: clamp(14px, 2vw, 18px);
    margin: 25px 0;
    width: 80%;
}
.consultProject__block-cont .deadlinesProj__subtitle {
    font-size: 18px;
    margin-bottom: 10px;
    align-items: center;
}
.consultProject__block-img img {
    border-radius: 5px;
    height: 100%;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 2;
}
.consultProject__block-cont .h2 {
    font-size: clamp(28px, 3vw, 71px);
}
@media(min-width: 1600px) {
    .consultProject__block-img {
        max-height: 360px;
    }
}
@media(max-width: 1200px) {
    .consultProject__btns {
        flex-direction: column;
    }
    .consultProject__btns .btn {
        width: 100%;
        padding: 14px 10px;
    }
    .consultProject__block-txt {
        width: 100%;
    }
}
@media(max-width: 991px) {
    .consultProject__block {
        flex-direction: column;
    }
    .consultProject__btns {
        flex-direction: row;
    }
}
@media(max-width: 575px) {
    .consultProject__btns {
        flex-direction: column;
        gap: 10px;
    }
    .consultProject__block-txt {
        margin: 15px 0;
    }
    .consultProject__btns .btn img {
        width: 20px;
    }
    .consultProject__block-cont .deadlinesProj__subtitle {
        font-size: 15px;
    }
    .consultProject__block {
        gap: 20px;
        padding: 20px 10px;
    }
}
/* END ПРОЕКТ */

/* Индивидуальное проектирование */
.heroIndiv {
    position: relative;
    padding: 250px 0 100px;
    text-align: center;
    overflow: hidden;
}
.heroIndiv__bg {
    position: fixed;
    left: 0;
    top: 90px;
    width: 100%;
    transform: scale(1);
    z-index: -1;
    will-change: transform, opacity;
    transition: opacity 0.15s linear;
}
.heroIndiv__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.heroIndiv__title {
    margin: 0 0 20px;
    font-weight: 400;
    color: #4c4b49;
    font-size: clamp(15px, 3vw, 22px);
}
.heroIndiv__subtitle {
    font-size: clamp(22px, 4vw, 70px);
    line-height: 1.2;
    font-weight: 500;
    margin: 0 0 25px;
}
.heroIndiv__subtitle span {
    font-family: 'Foglihten06';
    color: var(--color-red);
}
.heroIndiv__txt {
    width: 78%;
    margin: 0 auto;
    font-size: clamp(13px, 2vw, 18px);
    line-height: 1.1;
    font-weight: 300;
    color: #4c4b49;
}
.heroIndiv__btn {
    margin-top: 30px;
}
@media(max-width: 1800px) {
    .heroIndiv {
        padding-bottom: 80px;
    }
}
@media(max-width: 1200px) {
    .heroIndiv__txt {
        width: 100%;
    }
}
@media(max-width: 575px) {
    .heroIndiv {
        padding-top: 180px;
    }
    .heroIndiv__subtitle {
        line-height: 1.5;
    }
    .heroIndiv__subtitle span {
        font-size: 34px;
    }
}
.videoIndiv {
    padding: 50px 0 200px;
}
.videoIndiv video {
    border-radius: 5px;
    width: 100%;
}
@media(max-width: 1800px) {
    .videoIndiv {
        padding-top: 0;
        padding-bottom: 100px;
    }
}

.projIndHome {
    padding: 70px 0;
}
.projIndHome__blocks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 30px;
}
.projIndHome .topSectionTitles {
    border-top: 1px solid var(--color-black);
    padding-top: 25px;
}
.projIndHome__title {
    margin-top: -35px;
    font-size: clamp(38px, 4vw, 60px);
}
.projIndHome__blocks-li .h2 {
    font-size: clamp(28px, 3vw, 40px);
    margin: 0 0 20px;
}
.projIndHome__blocks-li-txt {
    line-height: 1.3;
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 300;
}
.projIndHome__blocks-li {
    padding: 20px 0;
    border-bottom: 1px solid #b7b6ae;
}
.projIndHome__blocks-li:first-child {
    padding-top: 0;
}
.projIndHome__blocks-img img {
    border-radius: 5px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media(max-width: 1200px) {
    .projIndHome__blocks {
        grid-template-columns: 1fr;
        gap: 50px;
    }
}
@media(max-width: 769px) {
    .projIndHome__title {
        margin-top: 10px;
    }
    .projIndHome .topSectionTitles {
        flex-direction: column;
    }
    .projIndHome__blocks {
        gap: 30px;
    }
    .projIndHome {
        padding: 50px 0;
    }
}

.visualIndiv {
    padding: 100px 0;
}
.visualIndiv .topSectionTitles {
    border: none;
}
.visualIndiv__txt {
    margin-top: 25px;
    width: 50%;
    line-height: 1.3;
    font-size: clamp(15px, 2vw, 17px);
}
.visualIndiv__blocks {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.visualIndiv .servicesHome__block:nth-child(1), .visualIndiv .servicesHome__block:last-child {
    grid-column: initial;
    grid-row: initial;
}
.visualIndiv__block-img img {
    border: 1px solid #b7b6ae;
    border-radius: 5px;
    margin-bottom: 10px;
    cursor: zoom-in;
}
.visualIndiv__block-txt {
    line-height: 1.2;
    margin-top: 10px;
}
@media(max-width: 1200px) {
    .visualIndiv__blocks {
        grid-template-columns: repeat(2, 1fr);
    }
    .visualIndiv__txt {
        width: 100%;
    }
}
@media(max-width: 575px) {
    .visualIndiv__blocks {
        grid-template-columns: 1fr;
    }
    .visualIndiv .projIndHome__title {
        font-size: clamp(32px, 4vw, 60px);
    }
    .visualIndiv {
        padding: 50px 0;
    }
}

.constrIndiv__blocks {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 30px;
}
.constrIndiv__slider-wr {
    position: relative;
}
.constrIndiv__slider.visualIndiv__block-img img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.constrIndiv__slider.visualIndiv__block-img {
    margin-bottom: 15px;
}
.constrIndiv__blocks .servicesHome__block-title b {
    font-weight: 500;
    color: #b7b6ae;
}
.constrIndiv .projIndHome__title {
    width: 55%;
}
.constrIndiv .visualIndiv__txt {
    width: 90%;
}
@media(max-width: 991px) {
    .constrIndiv .visualIndiv__txt {
        width: 100%;
    }
    .constrIndiv__blocks {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media(max-width: 769px) {
    .constrIndiv__blocks {
        grid-template-columns: 1fr;
    }
    .constrIndiv .projIndHome__title {
        width: 100%;
    }
}

.stepIndiv__blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.stepIndiv__block {
    border: 1px solid #b7b6ae;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
    border-radius: 5px;
    transition: all .3s;
    height: 255px;
}
.stepIndiv__block:hover, .stepIndiv__block.active {
    color: var(--color-white);
    background-color: var(--color-black);
}
.stepIndiv__block-title {
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.3;
    font-size: clamp(20px, 1.6vw, 28px);
    display: flex;
    gap: 8px;
}
.stepIndiv__block-title span {
    font-style: italic;
    font-weight: 300;
    letter-spacing: -1.5px;
}
.stepIndiv__block-cta {
    grid-column: 3 / 5;
}
.stepIndiv__block-txt .btn {
    display: block;
    margin-top: 30px;
    width: 100%;
    font-size: 30px;
    font-weight: 500;
    padding: 3px 10px;  
}
.stepIndiv__block-txt {
    line-height: 1.2;
    font-weight: 300;
}
@media(max-width: 1200px) {
    .stepIndiv__blocks {
        grid-template-columns: repeat(3, 1fr);
    }
    .stepIndiv__block-cta {
        grid-column: 1 / 4;
    }
    .stepIndiv__clear {
        display: none;
    }
}
@media(max-width: 991px) {
    .stepIndiv__blocks {
        grid-template-columns: repeat(2, 1fr);
    }
    .stepIndiv__block-cta {
        grid-column: 1 / 3;
    }
    .stepIndiv__block-title {
        font-size: clamp(20px, 2.6vw, 28px);
    }
}
@media(max-width: 680px) {
    .stepIndiv__block-cta {
        grid-column: 1 / 2;
    }
    .stepIndiv__blocks {
        grid-template-columns: 1fr;
    }
    .stepIndiv__block {
        height: auto;
        gap: 40px;
    }
    .stepIndiv__block-txt .btn {
        font-size: 20px;
    }
    .stepIndiv__block-cta .stepIndiv__block-title {
        font-size: clamp(28px, 2.6vw, 32px);
    }
    
}
/* END Индивидуальное проектирование */

/* УСЛУГИ */
.heroService__name {
    font-weight: 500;
    color: var(--color-gray);
    margin-bottom: 15px;
}
.heroService .heroHome__block h1, .heroService .heroHome__block-txt {
    margin-bottom: 30px;
}
.heroService .heroHome__block-btns .btn {
    width: 50%;
    padding: 18px 10px;
}
@media(max-width: 991px) {
    .heroService {
        flex-direction: column;
    }
    .heroService .heroHome__block::before, .heroService .heroHome__block::after {
        display: none;
    }
    .heroService .heroHome__block {
        color: var(--color-black);
        margin-top: 0;
    }
    .heroService .heroHome__block-btns .btn-white {
        border: 1px solid var(--color-black);
    }
}
@media(max-width: 660px) {
    .heroService .heroHome__block-btns .btn {
        width: 100%;
    }
    .heroService .heroHome__block {
        text-align: left;
    }
    .heroService .heroHome__block-txt {
        font-size: clamp(16px, 3vw, 18px);
    }
    .heroService .heroHome__block h1 {
        font-size: clamp(27px, 8vw, 37px);
    }
    .heroService .heroHome__block h1, .heroService .heroHome__block-txt {
        margin-bottom: 20px;
    }
}

.projServices {
    padding: 100px 0;
}
.projServices .projectsPage__title {
    font-size: clamp(36px, 5vw, 60px);
}
@media(max-width: 575px) {
    .projServices .projectsPage__title {
        text-align: left;
    }
    .projServices {
        padding: 50px 0;
    }
}

.complexService {
    padding: 100px 0;
}
.complexService .planProject__title {
    font-weight: 300;
}
.complexService .h2 {
    max-width: 57%;
    font-size: clamp(30px, 4vw, 42px);
}
.complexService__blocks {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.complexService__block {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: calc(100% / 2 - 13px);
}
.complexService__block-txt {
    font-size: clamp(15px, 3vw, 18px);
    line-height: 1.2;
}
.complexService__block-img img {    
    border: 1px solid #dedede;
    border-radius: 5px;
    aspect-ratio: 13 / 9;
    object-fit: cover;
}
.complexService__sliderwr {
    position: relative;
    width: calc(100% / 2 - 13px);
    border-radius: 5px;
    overflow: hidden;
}
.complexService__sliderwr .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.complexService__slider, .complexService__slider .slick-list, .complexService__slider .slick-track {
    height: 100%;
}
@media(max-width: 991px) {
    .complexService__block, .complexService__sliderwr {
        width: 100%;
    }
    .complexService__block {
        max-height: initial;
        gap: 15px;
    }
    .complexService .h2 {
        max-width: 100%;
    }
}
@media(max-width: 575px) {
    .complexService {
        padding: 50px 0;
    }
}

.materialService {
    padding: 50px 0;
}
.materialService__block {
    border-top: 1px solid #b7b6ae;
    padding: 20px 0 50px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}
.materialService__block-img img {
    border-radius: 5px;
    aspect-ratio: 6 / 4;
    object-fit: cover;
}
.materialService__block-cont {
    flex: 0 0 55%;
}
.materialService__block-img {
    flex: 0 1 45%;
}
.materialService__block-cont {
    font-size: clamp(15px, 1.7vw, 19px);
    line-height: 1.3;
}
.materialService__block-cont h3 {
    margin: 0 0 20px;
    font-size: clamp(25px, 3vw, 36px);
}
.materialService__blocks {
    margin-top: 45px;
}
@media(max-width: 769px) {
    .materialService__block {
        flex-direction: column;
    }
}
@media(max-width: 575px) {
    .materialService__blocks {
        margin-top: 25px;
    }
    .materialService__block {
        padding-bottom: 20px;
    }
}

.sliderService {
    padding: 50px 0;
}
.sliderService .requestHome__proj-gal img, .sliderService .requestHome__proj-gal {
    aspect-ratio: 5 / 3;
    height: auto;
}
@media(max-width: 575px) {
    .sliderService {
        padding-top: 20px;
    }
}

.costService__blocks {
    gap: 30px;
    flex-direction: row;
}
.costService__block {
    flex: 0 0 40%;
}
.costService__img {
    flex: 0 1 60%;
}
.costService .h2 {
    max-width: 100%;
}
.costService__subtitle {
    font-weight: 600;
    margin: 20px 0;
    font-size: clamp(20px, 2vw, 34px);
    line-height: 1.3;
}
.costService__btn .btn {
    font-size: clamp(16px, 1.5vw, 22px);
    max-width: 70%;
    padding: 18px;
    width: 100%;
    margin-top: 20px;
}
.costService__img img {
    aspect-ratio: 10 / 7;
    border-radius: 5px;
    object-fit: cover;
    height: 100%;
}
@media(max-width: 991px) {
    .costService__blocks {
        flex-direction: column;
    }
    .costService__img img {
        aspect-ratio: 6 / 3;
    }
    .costService__btn .btn {
        font-size: clamp(16px, 2.5vw, 25px);
        max-width: 100%;
    }
}
@media(max-width: 575px) {
    .costService__blocks {
        max-height: initial;
    }
}

.garService .h2 {
    max-width: initial;
}
.garService__blocks {
    margin-top: 50px;
    gap: 30px;
}
.garService__cont {
    padding-right: 50px;
}
.garService .materialService__block-cont h3:not(:first-child) {
    margin-top: 40px;
}
.garService__img img, .garService__img-mob img {
    border-radius: 5px;
}
.garService__img-mob {
    display: none;
}
@media(max-width: 1200px) {
    .garService__img-mob {
        display: block;
        margin-top: 40px;
    }
    .garService__img {
        display: none;
    }
    .garService__blocks {
        margin-top: 30px;
    }
    .garService__cont {
        padding-right: 0;
        flex: 1;
    }
    
}

.faqService {
    padding: 50px 0;
}
.faqService__blocks {
    max-width: 70%;
    margin: 50px auto 0;
    border-top: 1px solid rgb(238, 238, 238);
}
.faqService__block {
    padding: 27px 0;
    border-bottom: 1px solid rgb(238, 238, 238);
    position: relative;
}
.faqService__block-q {
    font-size: 24px;
    font-weight: 500;
    cursor: pointer;
}
.faqService__block-a {
    margin-top: 20px;
    font-weight: 300;
    font-size: clamp(13px, 1.7vw, 18px);
    line-height: 1.3;
}
.faqService__block-plus {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    cursor: pointer;
}
.faqService__block-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.faqService__block-plus svg {
    fill: var(--color-red);
    stroke: #fffcef;
    transition: all .3s;
}
.faqService__block:hover .faqService__block-plus svg {
    fill: var(--color-black);
}
.faqService__block.active .faqService__block-plus svg {
    transform: rotate(-45deg);
}
.faqService__block-a {
    display: none;
}
@media(max-width: 991px) {
    .faqService__blocks {
        max-width: 100%;
    }
}
@media(max-width: 575px) {
    .faqService__block {
        padding: 15px 0;
    }
    .faqService__block-q {
        font-size: 20px;
        line-height: 1.3;
    }
    .faqService__block-a {
        margin-top: 15px;
    }
}
/* END УСЛУГИ */

/* О нас */
.sm-show {
    opacity: 0;
    transform: translateY(20px); /* лёгкий подъём */
    transition: opacity 300ms ease, transform 300ms ease;
    will-change: opacity, transform;
}

.sm-show.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.heroAbout {
    padding: 185px 0 150px;
}
.heroAbout .heroIndiv__title {
    color: var(--color-gray);
    font-size: clamp(19px, 3vw, 36px);
    font-family: 'Foglihten06';
    text-transform: uppercase;
    margin-bottom: 70px;
}
.heroAbout .heroIndiv__subtitle span {
    font-size: clamp(40px, 7vw, 170px);
}
.heroAbout .heroIndiv__txt {
    width: 55%;
    font-size: clamp(13px, 2vw, 20px);
}
.heroAbout__img {
    margin-top: 20px;
}
.heroAbout__img img {
    border-radius: 5px;
}
@media(max-width: 1200px) {
    .heroAbout .heroIndiv__txt {
        width: 100%;
    }
    .heroAbout .heroIndiv__title {
        margin-bottom: 30px;
    }
}
@media(max-width: 575px) {
    .heroAbout {
        padding: 135px 0 50px;
    }
    .heroAbout .heroIndiv__subtitle {
        line-height: 1.2;
        font-size: clamp(25px, 4vw, 70px);
    }
}

.foundersAbout {
    padding-bottom: 100px;
}
.foundersAbout__blocks {
    padding-top: 100px;
    border-top: 1px solid var(--color-black);
    gap: 25px;
}
.foundersAbout__blocks-img {
    flex: 1 1 50%;
}
.foundersAbout__blocks-cont {
    flex: 1 1 50%;
}
.foundersAbout__blocks-cont .h2 {
    font-size: clamp(28px, 3vw, 50px);
    margin-bottom: 150px;
}
.foundersAbout__title-anim {
    font-size: clamp(28px, 3vw, 40px);
    text-transform: uppercase;
    line-height: 1.1;
    font-weight: 600;
    margin-bottom: 20px;
}
.foundersAbout__txt {
    font-size: clamp(14px, 1.6vw, 17px);
    font-weight: 300;
    line-height: 1.3;
}
.word-an {
    white-space: nowrap;
}
.foundersAbout__blocks-img {
    position: relative;
}
.foundersAbout__blocks-img img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 5px;
    max-height: 870px;
    width: 100%;
}
.foundersAbout__blocks-mob {
    display: none;
    position: absolute;
    color: var(--color-white);
    padding: 20px;
    justify-content: space-between;
}
.foundersAbout__blocks-mob .topSectionTitles {
    color: var(--color-white);
    text-align: right;
    font-size: clamp(13px, 2vw, 20px);
    width: 25%;
}
.foundersAbout__blocks-mob .h2 {
    width: 40%;
    font-size: clamp(16px, 4vw, 47px);
}

@media(max-width: 991px) {
    .foundersAbout__blocks-mob {
        display: flex;
    }
    .foundersAbout__blocks-cont .topSectionTitles, .foundersAbout__blocks-cont .h2 {
        display: none;
    }
    .foundersAbout__blocks {
        flex-direction: column;
    }
    .foundersAbout__blocks-img img {
        aspect-ratio: 4 / 4;
    }
}
@media(max-width: 575px) {
    .foundersAbout__blocks-mob .topSectionTitles {
        width: 40%;
    }
    .foundersAbout__blocks {
        padding-top: 50px;
    }
    .foundersAbout__title-anim .word-an {
        white-space: normal;
    }
    .foundersAbout {
        padding-bottom: 70px;
    }
}

.approachAbout {
    padding: 50px 0 100px;
}
.approachAbout__blocks-title .topSectionTitles {
    display: none;
}
.approachAbout__blocks-title, .approachAbout__blocks-cont {
    flex: 1 1 50%;
}
.approachAbout__blocks-title .h2 {
    font-size: clamp(30px, 6vw, 100px);
}
.approachAbout__block {
    padding-top: 40px;
}
.approachAbout__blocks-cont .foundersAbout__title-anim {
    margin-bottom: 30px;
}
.approachAbout__vals {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    justify-content: space-between;
}
.approachAbout__vals-block {
    width: 40%;
}
.approachAbout__vals-title {
    font-size: clamp(30px, 3vw, 42px);
    color: var(--color-red);
    font-family: 'Foglihten06';
    margin-bottom: 10px;
}
.approachAbout__vals-txt {
    font-size: clamp(14px, 1.6vw, 17px);
    font-weight: 300;
}
.approachAbout__gal {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.approachAbout__gal img {
    height: 100%;
    border-radius: 5px;
    object-fit: cover;
}
.approachAbout__gal img:last-child {
    grid-column: 3 / 5;
}
@media(max-width: 1200px) {
    .approachAbout__block {
        flex-direction: column;
        gap: 0px;
    }
    .approachAbout__blocks-title .h2 br {
        display: none;
    }
    .approachAbout__blocks-cont .topSectionTitles {
        display: none;
    }
    .approachAbout__blocks-title .topSectionTitles {
        display: block;
        margin-bottom: 10px;
    }
}
@media(max-width: 769px) {
    .approachAbout__gal {
        grid-template-columns: 1fr;
    }
    .approachAbout__gal img:last-child {
        grid-column: initial;
    }
    .approachAbout__vals-block {
        width: 100%;
    }
    .approachAbout__vals {
        gap: 25px;
        flex-direction: column;
    }
    .approachAbout {
        padding-bottom: 50px;
    }
}

.advantAbout .h2 {
    font-size: clamp(30px, 6vw, 72px);
    margin-bottom: 100px;
}
.advantAbout__img img {
    border-radius: 5px;
}
/* .advantAbout__blocks {
    margin-top: 40px;
} */
.advantAbout__block {
    border-bottom: 1px solid #dedede;
    padding: 40px 0;
}

@media(max-width: 769px) {
    .advantAbout .h2 {
        margin-bottom: 25px;
    }
    .advantAbout__block {
        padding: 30px 0;
    }
}
/* END О нас */

/* Вакансии */
.heroVakansii {
    padding-bottom: 200px;
}
.vakansiiPage {
    padding-top: 200px;
    padding-bottom: 100px;
}
.vakansiiPage__blocks {
    border-top: 1px solid #b7b6ae;
    padding-top: 20px;
    gap: 20px;
    justify-content: space-between;
}
.vakansiiPage__blocks-cont {
    flex: 0 0 473px;
    font-weight: 300;
}
.vakansiiPage__blocks-cont .h2 {
    margin-bottom: 20px;
    font-size: clamp(34px, 4vw, 60px);
}
.vakansiiPage__v {
    flex-direction: column;
    gap: 20px;
    flex: 0 1 50%;
}
.vakansiiPage__v-title {
    font-size: clamp(24px, 3vw, 40px);
}
.vakansiiPage__v-btn {
    margin-top: 15px;
}
.vakansiiPage__blocks .visualIndiv__block-txt {
    margin-top: 0;
}
.vakansiiPage__blocks .visualIndiv__block-txt ul {
    padding-left: 15px;
}
@media(max-width: 1200px) {
    .vakansiiPage__blocks {
        flex-direction: column;
    }
    .vakansiiPage__blocks-cont {
        flex: auto;
    }
    .vakansiiPage {
        padding-top: 50px;
    }
    .heroVakansii {
        padding-bottom: 100px;
    }
}
@media(max-width: 575px) {
    .vakansiiPage__v .servicesHome__block {
        max-height: 100%;
    }
    .heroVakansii {
        padding-bottom: 40px;
    }
    .vakansiiPage__v-btn .btn {
        width: 100%;
    }
    .visualIndiv__block-txt {
        font-size: 14px;
    }
}
/* END Вакансии */

/* BLOG */
.blogPage .blogHome__titles .h2:first-child {
    font-size: clamp(34px, 5vw, 73px);
    font-weight: 700;
}
.blogPage .blogHome__titles .h2:last-child {
    font-size: clamp(24px, 4vw, 50px);
    font-weight: 700;
}
.blogPage .blogHome__titles .h2 br {
    display: none;
}
@media (max-width: 1300px) {
    .blogPage .blogHome__block:nth-child(4) {
        display: block;
    }
}
/* END BLOG */

/* MODAL */
.modalInvest {
    padding: 0;
    width: 560px;
}
.modalInvest .priceCalcForm__img {
    height: 560px;
}
.modalInvest__cont {
    color: var(--color-white);
    background-color: var(--color-black);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.modalInvest__title {
    font-size: 32px;
    font-weight: 700;
}
.modalInvest__txt {
    font-size: 16px;
    line-height: 1.5;
}
.modalInvest__btn .btn {
    font-weight: 400;
    font-size: 15px;
    text-transform: none;
    margin-top: 10px;
}
@media(max-width: 575px) {
    .modalInvest__title {
        font-size: 26px;
    }
    .modalInvest__txt {
        font-size: 12px;
    }
    .modalInvest .priceCalcForm__img {
        height: 300px;
    }
    .modalInvest__cont {
        gap: 10px;
    }
}
/* END MODAL */

/* ПОРТФОЛИО */
.heroPortfolio__cats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    position: relative;
    margin-top: 100px;
}
.heroPortfolio__cat {
    border-radius: 10px;
    overflow: hidden;
    color: var(--color-white);
    padding: 40px 30px;
    position: relative;
    aspect-ratio: 4 / 3;
}
.heroPortfolio__cat-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.heroPortfolio__cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .5s;
}
.heroPortfolio__cat-img::after {
    content: '';
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.20));
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.heroPortfolio__cat:hover .heroPortfolio__cat-img img {
    transform: scale(1.06);
}
.stepPortfolio__gal {
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.stepPortfolio__gal a img {
    border-radius: 10px;
    cursor: zoom-in;
    aspect-ratio: 8 / 6;
}
.stepPortfolio__tabs {
    margin-bottom: 60px;
    margin-top: 40px;
}
.stepPortfolio__tab {
    font-size: clamp(16px, 2vw, 25px);
    padding: 11px 30px;
    height: auto;
}
.stepPortfolio__title {
    color: var(--color-red);
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    text-transform: uppercase;
    margin: 20px 0 30px;
}
.stepPortfolio__txt {
    font-size: clamp(13px, 2vw, 20px);
    width: 72%;
}
.stepPortfolio {
    padding: 50px 0 150px;
}
@media(max-width: 1200px) {
    .stepPortfolio__gal {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media(max-width: 999px) {
    .heroPortfolio__cats {
        display: block;
    }
    .heroPortfolio__cat {
        padding: 30px;
        position: relative;
        aspect-ratio: initial;
        width: 78vw;
        height: 59vw;
        margin: 0 10px;
    }
}
@media(max-width: 769px) {
    .heroPortfolio__cats {
        margin-top: 50px;
    }
    .stepPortfolio__gal {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .stepPortfolio__txt {
        width: 100%;
    }
    .stepPortfolio__tabs {
        margin-bottom: 35px;
        margin-top: 40px;
    }
    .stepPortfolio {
        padding-bottom: 80px;
    }
    .heroPortfolio__cat {
        margin: 0 5px;
    }
}

/* END ПОРТФОЛИО */

/* Производство */
.heroManuf {
    padding-top: 200px;
}
.heroManuf .planProject__title {
    font-weight: 300;
    color: #4c4b49;
}
.heroManuf .h2 {
    font-weight: 700;
    margin-bottom: 40px;
    line-height: 1;
}
.heroManuf .stepPortfolio__txt {
    font-weight: 300;
}
.heroManuf .stepPortfolio__txt b {
    font-weight: 600;
}
.heroManuf__vals {
    border-top: 1px solid #b7b6ae;
    margin-top: 30px;
    padding-top: 30px;
    gap: 65px;
    margin-bottom: 50px;
}
.heroManuf__val-title {
    color: var(--color-gray);
    font-size: clamp(15px, 2vw, 20px);
    margin-bottom: 20px;
    font-weight: 300;
}
.heroManuf__val-num {
    font-weight: 700;
    font-size: clamp(30px, 5vw, 60px);
}
.heroManuf__img img {
    width: 100%;
    border-radius: 10px;
}

.stepManuf {
    padding: 100px 0;
}
.stepManuf .h2 {
    font-size: clamp(28px, 3vw, 40px);
    width: 70%;
    margin-top: 15px;
}
.stepManuf__block-title {
    font-weight: 500;
    text-transform: uppercase;
    font-size: clamp(22px, 2vw, 26px);
    display: flex;
    gap: 10px;
}
.stepManuf__block-title span {
    font-family: 'Foglihten06';
    color: var(--color-gray)
}
.stepManuf .complexService__block-txt {
    color: #4c4b49;
    font-weight: 300;
}
.whyManuf .h2 {
    width: 76%;
}
.whyManuf__blocks {
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
}
.whyManuf__block {
    border-top: 1px solid #b7b6ae;
    padding-top: 30px;
}
.whyManuf__blocks-title {
    font-weight: 700;
    font-size: clamp(22px, 3vw, 30px);
    margin-bottom: 25px;
}
.whyManuf__blocks-txt {
    font-weight: 300;
    width: 60%;
    font-size: clamp(14px, 2vw, 20px);
}
.whyManuf {
    padding-top: 50px;
}
@media(max-width: 769px) {
    .heroManuf__vals {
        flex-direction: column;
        gap: 20px;
    }
    .heroManuf {
        padding-top: 120px;
    }
    .stepManuf {
        padding: 70px 0 30px;
    }
    .whyManuf__blocks-title {
        margin-bottom: 15px;
    }
    .whyManuf__blocks-txt, .whyManuf .h2 {
        width: 100%;
    }
    .whyManuf__blocks {
        gap: 25px;
    }
}
/* END Производство */

/* CONTACTS */
.contactPage {
    padding-top: 180px;
    padding-bottom: 100px;
}
.contactPage__blocks {
    border-top: 1px solid #b7b6ae;
    padding-top: 30px;
    gap: 20px;
    margin-bottom: 70px;
}
.contactPage__title, .contactPage__cont {
    flex: 1 1 50%;
}
.contactPage .projIndHome__blocks-li .h2 {
    margin-bottom: 20px;
    display: block;
}
.contactPage .projIndHome__blocks-li {
    padding: 30px 0;
}
@media(max-width: 991px) {
    .contactPage__blocks {
        flex-direction: column;
    }
}
@media(max-width: 575px) {
    .contactPage__title .h2 {
        font-size: 40px;
    }
    .contactPage {
        padding-top: 96px;
        padding-bottom: 50px;
    }
    .contactPage__map iframe {
        height: 400px;
    }
}
/* END CONTACTS */

/* Single page */
.singlePage {
    padding: 150px 0;
    margin: 0 10%;
}
.singlePage__subtitle, .singlePage .h2 {
    text-align: center;
}
.singlePage__subtitle {
    letter-spacing: 2.5px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.singlePage__cont {
    margin-top: 50px;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.55;
    padding-bottom: 100px;
}
.singlePage__btn {
    text-align: center;
}
.singlePage__btn .btn {
    padding: 17px 50px;
}
@media(max-width: 769px) {
    .singlePage {
        margin: 0;
    }
    .singlePage__cont {
        font-size: 18px;
    }
    .singlePage {
        padding-bottom: 100px;
    }
}
@media(max-width: 575px) {
    .singlePage__cont {
        font-size: 15px;
    }
    .singlePage__btn .btn {
        padding: 13px 50px;
    }
}

/* END Single page */