@font-face {
    font-family: Scada;
    font-display: swap;
    src: url("../assets/fonts/Scada-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "iconfont";
    font-display: swap;
    src: url("../assets/fonts/iconfont.woff2?ed1ec76ff20fcecf5fa63fbea060ae97") format("woff2");
}

[class*="--icon-"]::before {
    font-family: iconfont;
}

[class*="--icon-time"]::before {
    content: "\f101";
}

[class*="--icon-star"]::before {
    content: "\f102";
}

[class*="--icon-phone"]::before {
    content: "\f103";
}

[class*="--icon-mail"]::before {
    content: "\f104";
}

[class*="--icon-location"]::before {
    content: "\f105";
}

[class*="--icon-local"]::before {
    content: "\f106";
}

[class*="--icon-list"]::before {
    content: "\f107";
}

[class*="--icon-instagram"]::before {
    content: "\f108";
}

[class*="--icon-honest"]::before {
    content: "\f109";
}

[class*="--icon-facebook"]::before {
    content: "\f10a";
}

[class*="--icon-call"]::before {
    content: "\f10b";
}

[class*="--icon-arrow-prev"]::before {
    content: "\f10c";
}

[class*="--icon-arrow-next"]::before {
    content: "\f10d";
}

[class*="--icon-arrow-down"]::before {
    content: "\f10e";
}

* {
    padding: 0rem;
    margin: 0rem;
    border: 0rem;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

*::before,
*::after {
    display: inline-block;
}

html,
body {
    height: 100%;
}

body {
    line-height: 1;
    scrollbar-gutter: stable;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input,
button,
textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    background-color: transparent;
}

input,
textarea {
    width: 100%;
}

label {
    display: inline-block;
}

button,
select,
option {
    cursor: pointer;
}

a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}

ul li {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit;
}

/* Generated by vite-plugin-svg-spritemap */
:root {
    --white: #fff;
    --black: #010400;
    --accent: #deff76;
    --black-2: #212121;
    --border: #353535;
    --text: #9e9e9e;
}

html {
    scroll-behavior: smooth;
    background: #010400;
}

body {
    min-width: 24.5625rem;
    color: #fff;
    font-family: "Scada", sans-serif;
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: auto;
}

[data-fls-scrolllock] body {
    overflow: hidden;
    touch-action: none;
    overscroll-behavior: none;
}

.wrapper {
    padding-top: 4.1875rem;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: clip;
}

.wrapper > main {
    flex: 1 1 auto;
}

.wrapper > * {
    min-width: 0;
}

[class*=__container] {
    max-width: 77rem;
    margin: 0 auto;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.title {
    color: var(--white);
}

.title {
    font-weight: 400;
    text-transform: uppercase;
}

.section {
    position: relative;
    overflow: hidden;
}

.btn {
    padding: 0.5rem 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    text-align: center;
    min-height: 3.0625rem;
}

.btn {
    font-weight: 400;
    transition: all 0.3s;
}

body .btn-main {
    position: relative;
    border: 0.0625rem solid var(--accent);
    color: var(--black);
}

body .btn-main::before {
    content: "";
    position: absolute;
    inset: 0.25rem;
    background: var(--accent);
    transition: all 0.3s;
}

body .btn-main span {
    position: relative;
    z-index: 10;
}

.btn-border {
    color: var(--accent);
    background: transparent;
    border: 0.0625rem solid var(--accent);
}

.swiper-nav {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-right: auto;
}

.swiper-nav:has(.swiper-pagination-lock) {
    display: none;
}

.swiper-button-prev,
.swiper-button-next {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--black-2);
    font-size: 1rem;
    transition: all 0.3s;
}

.swiper-button-prev svg,
.swiper-button-next svg {
    display: none;
}

.swiper-button-prev::before,
.swiper-button-next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: color 0.3s;
    font-size: 1rem;
}

.swiper-button-prev::before {
    transform: translate(-50%, -50%) rotate(-180deg);
}

.swiper-pagination {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.swiper-pagination .swiper-pagination-bullet {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0.75rem;
    height: 0.0625rem;
    background: var(--border);
    border-radius: 0.0625rem;
    transition: all 0.3s ease-in-out;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--accent);
    width: 2rem;
    height: 0.1875rem;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Chrome, Safari, Edge */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

#services,
#about-us,
#projects,
#gallery,
#reviews,
#work,
#discuss {
    scroll-margin-top: 4.1875rem;
}

/* Generated by vite-plugin-svg-spritemap */
.select {
    min-width: 0;
    position: relative;
    z-index: 10;
}

.select__body {
    position: relative;
}

.select__title {
    display: flex;
    align-items: center;
    color: inherit;
    text-align: left;
    border: 0.0625rem solid var(--border);
    padding: 0.5rem 1.25rem;
    height: 2.625rem;
    background: var(--black-2);
    cursor: pointer;
    width: 100%;
    font-size: 1.0625rem;
    color: var(--text);
}

.select__value {
    width: 100%;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.625rem;
}

.select__value > * {
    flex: 1 1 auto;
}

.select__value:after {
    content: "";
    align-self: stretch;
    margin-left: auto;
    flex: 0 0 1rem;
    transition: all 0.3s ease 0s;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('data:image/svg+xml,<svg width="16" height="10" viewBox="0 0 16 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.9736 0.919922C15.2727 1.22056 15.2752 1.70639 14.9805 2.00977L14.9805 2.01074L8.73535 8.8623L8.72949 8.86914C8.58596 9.01272 8.40289 9.08321 8.2207 9.0918L8.08496 9.0918C7.90291 9.08356 7.72011 9.01281 7.57715 8.86914L7.57129 8.86328L1.32617 2.01074L1.32715 2.00977C1.03227 1.70641 1.03385 1.2216 1.33301 0.920898C1.63491 0.617547 2.12489 0.617491 2.42676 0.920898L2.43262 0.926757L8.15332 7.20312L13.874 0.926758L13.8799 0.919922C14.1817 0.616628 14.6717 0.616788 14.9736 0.919922Z" fill="%239E9E9E" stroke="%239E9E9E" stroke-width="0.4" /></svg>') center no-repeat;
}

.--select-open .select__value:after {
    transform: rotate(-180deg);
}

.select__value.--select-pseudo-label::before {
    content: attr(data-pseudo-label);
    opacity: 0.5;
}

.select__content {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select__text {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select__input {
    padding: 0 0.625rem;
    width: 100%;
    background-color: transparent;
    height: 100%;
}

.--select-active .select__input::placeholder {
    color: var(--text);
}

.--select-focus .select__input::placeholder {
    opacity: 0.5;
}

.select__options {
    color: #000;
    position: absolute;
    z-index: 100;
    top: calc(100% - 0.0625rem);
    min-width: 100%;
    border: 0.0625rem solid var(--border);
    border-top: none;
    left: 0;
    background-color: var(--black-2);
    padding: 0;
}

.select__scroll {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 21.875rem;
}

.select__option {
    width: 100%;
    text-align: left;
    min-height: 3.125rem;
    cursor: pointer;
    padding: 0.5rem 1rem;
    color: var(--text);
    transition: all 0.3s;
}

.select__option.--select-selected {
    background-color: var(--border);
}

.select__row {
    display: inline-flex;
    align-items: center;
}

.select--show-top .select__options {
    top: auto;
    bottom: calc(100% - 0.0625rem);
    border: 0.0625rem solid #d9d9d9;
    border-bottom: 0;
    border-radius: 0.25rem 0.25rem 0 0;
    padding: 0.3125rem 0rem 0.625rem 0rem;
}

.--select-tag {
    cursor: pointer;
}

/* Generated by vite-plugin-svg-spritemap */
.swiper {
    overflow: hidden;
}

.swiper-initialized {
    touch-action: pan-y;
}

.swiper-wrapper {
    width: 100%;
    height: 100%;
    box-sizing: content-box;
    display: flex;
    position: relative;
}

.swiper-vertical .swiper-wrapper {
    flex-direction: column;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
}

.swiper-initialized .swiper-slide {
    flex-shrink: 0;
}

.swiper-android .swiper-slide,
.swiper-android .swiper-wrapper {
    transform: translate3d(0rem, 0, 0);
}

.swiper-button-lock {
    display: none !important;
}

/* Generated by vite-plugin-svg-spritemap *//* Generated by vite-plugin-svg-spritemap */
.header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    min-height: 4.1875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--black);
}

.header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.header__logo {
    position: relative;
    z-index: 100;
    flex-shrink: 0;
    max-width: 9rem;
}

.header__logo img {
    width: 100%;
    height: auto;
}

.header__phone {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--black-2);
    color: var(--white);
    font-size: 1.1875rem;
    line-height: 1;
    transition: color 0.3s ease, background 0.3s ease;
}

.menu__nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 3.125rem;
}

.menu__nav ul li a {
    padding: 0.375rem 0;
    display: inline-flex;
    align-items: center;
}

.menu__nav ul li a {
    line-height: 1;
    color: var(--white);
    transition: color 0.3s;
}

.menu .menu__social:not(:last-child) {
    margin-bottom: 1.5rem;
}

.menu .menu__contacts .contacts__item:not(:last-child) {
    margin-bottom: 1rem;
}

.icon-menu {
    display: none;
}

/* Generated by vite-plugin-svg-spritemap */
.footer {
    position: relative;
    z-index: 25;
    overflow: hidden;
}

.footer__inner {
    display: flex;
    gap: 4rem;
}

.footer__info {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem;
    width: 25.25rem;
    flex-shrink: 0;
}

.footer__logo {
    width: 100%;
    max-width: 16.375rem;
}

.footer__logo img {
    width: 100%;
    height: auto;
}

.footer__content {
    padding-top: 0.375rem;
    flex: 1 1 auto;
}

.footer__title {
    font-size: 1.5rem;
    text-transform: uppercase;
}

.footer__title:not(:last-child) {
    margin-bottom: 2rem;
}

.footer__nav ul li:not(:last-child) {
    margin-bottom: 1.25rem;
}

.footer__nav ul li a {
    padding: 0.25rem 0;
    display: inline-flex;
    align-items: center;
    width: fit-content;
}

.footer__nav ul li a {
    font-weight: 400;
    transition: color 0.3s;
}

.footer .btn-border {
    min-width: 11.875rem;
}

.social__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 1.5rem;
}

.social__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--black-2);
    font-size: 1rem;
    color: var(--white);
    transition: color 0.3s;
}

.contacts {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.2;
}

.contacts__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contacts__item:not(:last-child) {
    margin-bottom: 1.5rem;
}

.contacts__item::before {
    flex-shrink: 0;
    align-self: start;
    padding: 0.3125rem;
    width: 1.8125rem;
    height: 1.8125rem;
    font-size: 1.125rem;
}

.contacts a {
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--white);
    transition: color 0.3s;
}

/* Generated by vite-plugin-svg-spritemap *//* Generated by vite-plugin-svg-spritemap */
.hero {
    position: relative;
    overflow: hidden;
}

.hero__thumbs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero__thumbs pictures,
.hero__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero__thumbs:not(.swiper-initialized) {
    overflow: hidden;
}

.hero__thumbs:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
}

.hero__thumbs:not(.swiper-initialized) .swiper-slide {
    width: 100%;
    flex-shrink: 0;
}

.hero__slider {
    position: relative;
    overflow: visible;
}

.hero__slider:not(.swiper-initialized) {
    overflow: hidden;
}

.hero__slider:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
}

.hero__slider:not(.swiper-initialized) .swiper-slide {
    width: 100%;
    flex-shrink: 0;
}

.hero__slider .swiper-slide {
    opacity: 1;
    height: auto !important;
}

.hero__slider .swiper-slide:not(.swiper-slide-visible) {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.hero__slide {
    display: flex;
    height: 100%;
}

.hero__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.hero__title {
    line-height: 1.25;
}

.hero__title {
    text-transform: uppercase;
}

.hero__text {
    line-height: 1.2;
}

.hero__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.hero__item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hero__item strong {
    font-weight: 400;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.hero__actions .btn-main {
    min-width: 16.875rem;
}

.hero__actions .btn-border {
    min-width: 11.875rem;
}

.hero .swiper-nav {
    position: absolute;
    bottom: 5rem;
    left: 1.875rem;
    top: auto;
    right: auto;
    margin-top: auto;
}

.hero .swiper-pagination .swiper-pagination-bullet {
    background: var(--text);
}

.hero .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--accent);
    width: 2rem;
    height: 0.1875rem;
}

.work {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #171717 0%, #010400 100%);
}

.work::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translateX(-50%);
    background-image: url("../assets/img/work-bg.png");
    background-position: center;
    background-repeat: repeat-x;
    background-size: contain;
}

.work__container {
    position: relative;
    z-index: 2;
}

.work__list {
    list-style-type: none;
    counter-reset: item;
}

.work__item {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
}

.work__item {
    line-height: 1.1;
}

.work__item::before {
    counter-increment: item;
    content: counter(item);
    align-self: start;
    width: 4rem;
    height: 4rem;
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 2rem;
    color: var(--accent);
    background: var(--black-2);
}

.reviews {
    position: relative;
    overflow: hidden;
}

.reviews__container {
    position: relative;
}

.reviews__slider {
    overflow: visible;
}

.reviews__slider:not(.swiper-initialized) {
    overflow: hidden;
}

.reviews__slider:not(.swiper-initialized) .projects__wrapper {
    display: flex;
    gap: 1.5rem;
}

.reviews__slider:not(.swiper-initialized) .projects__slide {
    flex-shrink: 0;
    width: 27.25rem;
}

.reviews__slide {
    display: flex;
    height: auto;
}

.review {
    width: 27.25rem;
    height: 100%;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    background: var(--black-2);
}

.review__top {
    display: flex;
    gap: 1.5rem;
}

.review__img {
    width: 6.5rem;
    height: 6.5rem;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.review__img img {
    width: 100%;
    height: 6.25rem;
    object-fit: cover;
    border-radius: 50%;
}

.review__content {
    flex: 1 1 auto;
}

.review__name {
    font-size: 1.5rem;
}

.review__name:not(:last-child) {
    margin-bottom: 0.625rem;
}

.review__positio {
    font-size: 1.0625rem;
}

.review__positio:not(:last-child) {
    margin-bottom: 1.5rem;
}

.review__text {
    line-height: 1.2;
}

.review__text {
    overflow: hidden;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    line-clamp: 5;
    text-overflow: ellipsis;
}

.review__link {
    width: fit-content;
    padding: 0.5rem 2.9375rem 0.5rem 1.25rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.review__link {
    background: var(--border);
    transition: box-shadow 0.3s;
}

.review__link img {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    object-fit: scale-down;
}

.rating {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.rating__star {
    width: 1rem;
    height: 1rem;
    display: flex;
    flex-shrink: 0;
    background: url('data:image/svg+xml,<svg width="16" height="15" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.04894 0.92705C7.3483 0.00573921 8.6517 0.00573969 8.95106 0.92705L10.0206 4.21885C10.1545 4.63087 10.5385 4.90983 10.9717 4.90983H14.4329C15.4016 4.90983 15.8044 6.14945 15.0207 6.71885L12.2205 8.75329C11.87 9.00793 11.7234 9.4593 11.8572 9.87132L12.9268 13.1631C13.2261 14.0844 12.1717 14.8506 11.388 14.2812L8.58778 12.2467C8.2373 11.9921 7.7627 11.9921 7.41221 12.2467L4.61204 14.2812C3.82833 14.8506 2.77385 14.0844 3.0732 13.1631L4.14277 9.87132C4.27665 9.4593 4.12999 9.00793 3.7795 8.75329L0.979333 6.71885C0.195619 6.14945 0.598395 4.90983 1.56712 4.90983H5.02832C5.46154 4.90983 5.8455 4.63087 5.97937 4.21885L7.04894 0.92705Z" fill="%23FBBB00" /></svg>') center no-repeat;
}

.rating__star.disabled {
    background: url('data:image/svg+xml,<svg width="16" height="15" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.04894 0.92705C7.3483 0.00573921 8.6517 0.00573969 8.95106 0.92705L10.0206 4.21885C10.1545 4.63087 10.5385 4.90983 10.9717 4.90983H14.4329C15.4016 4.90983 15.8044 6.14945 15.0207 6.71885L12.2205 8.75329C11.87 9.00793 11.7234 9.4593 11.8572 9.87132L12.9268 13.1631C13.2261 14.0844 12.1717 14.8506 11.388 14.2812L8.58778 12.2467C8.2373 11.9921 7.7627 11.9921 7.41221 12.2467L4.61204 14.2812C3.82833 14.8506 2.77385 14.0844 3.0732 13.1631L4.14277 9.87132C4.27665 9.4593 4.12999 9.00793 3.7795 8.75329L0.979333 6.71885C0.195619 6.14945 0.598395 4.90983 1.56712 4.90983H5.02832C5.46154 4.90983 5.8455 4.63087 5.97937 4.21885L7.04894 0.92705Z" fill="%23353535" /></svg>') center no-repeat;
}

.map__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.map__item::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--accent);
}

.map__img {
    width: 100%;
}

.map__img img {
    aspect-ratio: 1200/600;
    object-fit: cover;
}

.projects__container {
    position: relative;
}

.projects__slider:not(.swiper-initialized) .projects__wrapper {
    display: flex;
    gap: 1.25rem;
}

.projects__slider:not(.swiper-initialized) .projects__slide {
    flex-shrink: 0;
    width: calc(50% - 1.25rem);
}

.project {
    width: 100%;
}

.project__img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    user-select: none;
}

.project__img::before {
    content: "";
    display: block;
    padding-bottom: 67.8%;
}

.project__img .project__img-after {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.project__img .project__img-before {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    width: 100%;
    transition: width 1.6s ease;
}

.project__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    -webkit-user-drag: none;
}

.project__img.no-select {
    user-select: none;
}

.project__img .project__img-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    width: 2.125rem;
    height: 100%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: ew-resize;
    transition: transform 120ms ease, box-shadow 120ms ease;
    touch-action: none;
}

.project__img .project__img-handle span {
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 50%;
    width: 2.125rem;
    height: 4rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
}

.project__img .project__img-handle span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 2.0625rem;
    transform: translate(-50%, -50%);
    background: url('data:image/svg+xml,<svg width="16" height="33" viewBox="0 0 16 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.421 5.80376C2.206 5.80376 2.842 6.58249 2.842 7.54499V24.955C2.842 25.9175 2.206 26.6962 1.422 26.6962C0.636 26.6962 0 25.9175 0 24.955V7.54499C0 6.58249 0.636 5.80376 1.421 5.80376ZM8 0C8.785 0 9.421 0.780007 9.421 1.74126V30.7587C9.421 31.72 8.785 32.5 8 32.5C7.215 32.5 6.579 31.72 6.579 30.7587V1.74126C6.579 0.780007 7.215 0 8 0ZM14.579 5.80376C15.364 5.80376 16 6.58249 16 7.54499V24.955C16 25.9175 15.364 26.6962 14.579 26.6962C13.794 26.6962 13.158 25.9175 13.158 24.955V7.54499C13.158 6.58249 13.794 5.80376 14.578 5.80376" fill="white" /></svg>') center no-repeat;
}

.project__img .project__img-handle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.25rem;
    height: 100%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.5);
}

.project__img .project__img-handle:focus span::before {
    outline: 0.1875rem solid rgba(0, 123, 255, 0.18);
    transform: translate(-50%, -50%) scale(1.03);
}

.project__img .project__img-handle.is-dragging span::before {
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.18);
    transform: translate(-50%, -50%) scale(1.06);
}

.project__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.project__item:not(:last-child) {
    margin-bottom: 1rem;
}

.project__item::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--accent);
}

.project .btn {
    min-width: 10.5625rem;
}

.about-us {
    background: linear-gradient(180deg, #171717 0%, #010400 100%);
}

.about-us::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translateX(-50%);
    background-image: url("../assets/img/work-bg.png");
    background-position: center;
    background-repeat: repeat-x;
    background-size: contain;
}

.about-us__container {
    position: relative;
    z-index: 5;
}

.about-us__top:not(:last-child) {
    margin-bottom: 2.5rem;
}

.about-us__title:not(:last-child) {
    margin-bottom: 0;
}

.about-us__text {
    line-height: 1.2;
}

.about-us__content {
    display: flex;
    flex-direction: column;
}

.about-us__info:not(:last-child) {
    margin-bottom: 2.5rem;
}

.about-us__number {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.about-us__number strong {
    color: var(--accent);
}

.about-us__item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.about-us__item::before {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.625rem;
    color: var(--accent);
}

.about-us__img {
    width: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

.about-us__img img {
    width: 100%;
    aspect-ratio: 662/448;
    object-fit: cover;
}

.cart-services > * {
    margin-bottom: 1.5rem;
}

.cart-services > *:last-child {
    margin-bottom: 0;
}

.cart-services__img {
    width: 100%;
    overflow: hidden;
}

.cart-services__img img {
    width: 100%;
    aspect-ratio: 386/250;
    object-fit: cover;
}

.cart-services__title {
    font-size: 1.5rem;
}

.cart-services__title:not(:last-child) {
    margin-bottom: 1rem;
}

.cart-services__text {
    font-size: 1.0625rem;
}

.cart-services .btn {
    min-width: 10.5625rem;
}

.gallery {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #171717 0%, #010400 100%);
}

.gallery::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translateX(-50%);
    background-image: url("../assets/img/work-bg.png");
    background-position: center;
    background-repeat: repeat-x;
    background-size: contain;
}

.gallery__container {
    position: relative;
}

.gallery .swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}

.gallery__slide {
    position: relative;
    cursor: pointer;
}

.gallery__slide:hover .gallery__img::before {
    opacity: 1;
}

.gallery__slide:hover .gallery__heading {
    opacity: 1;
}

.gallery__img {
    display: flex;
    width: 100%;
    height: 100%;
}

.gallery__img img {
    height: 100%;
    width: auto;
}

.gallery__img::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.gallery__heading {
    position: absolute;
    z-index: 5;
    bottom: 2.75rem;
    left: 1.25rem;
    font-size: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.discuss {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #171717 0%, #010400 100%);
}

.discuss::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translateX(-50%);
    background-image: url("../assets/img/form-bg.png");
    background-position: center;
    background-repeat: repeat-x;
    background-size: contain;
}

.form, .wpcf7-form {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.5rem;
    border: 0.0625rem solid var(--border);
    backdrop-filter: blur(0.5rem);
    background: rgba(33, 33, 33, 0.74);
}

.form__title {
    line-height: 1.2;
    text-align: center;
}

.form__title:not(:last-child) {
    margin-bottom: 1rem;
}

.form__text {
    line-height: 1.2;
    text-align: center;
}

.form__text:not(:last-child) {
    margin-bottom: 2rem;
}

.form__grid {
    width: 100%;
    gap: 1rem 1.25rem;
}

.form__grid .form__group:not(:last-child) {
    margin-bottom: 0;
}

.form__grid:not(:last-child) {
    margin-bottom: 1rem;
}

.form__group {
    position: relative;
    z-index: 5;
    width: 100%;
}

.form__group:not(:last-child) {
    margin-bottom: 1rem;
}

.form__group:has(.select) {
    z-index: 100;
}

.form__group textarea,
.form__group input {
    font-family: "Scada", sans-serif;
    width: 100%;
    border: 0.0625rem solid var(--border);
    padding: 0.5rem 1.25rem;
    height: 2.625rem;
    background: var(--black-2);
    transition: all 0.3s;
    color: var(--text);
}

.form__group textarea:focus,
.form__group input:focus {
    border-radius: 0;
    outline: none;
    box-shadow: none;
    border-color: var(--accent);
}

.form__group textarea::placeholder,
.form__group input::placeholder {
    color: var(--text);
}

.form__group textarea {
    resize: none;
}

.wpcf7-form .btn {
    margin-top: 2rem;
}

.wpcf7-form .btn:not(:last-child) {
    margin-bottom: 1rem;
}

/* Generated by vite-plugin-svg-spritemap */
body::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.2);
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.8s ease 0s;
    pointer-events: none;
    z-index: 149;
}

[data-fls-popup-open] body::after {
    opacity: 1;
}

[data-fls-popup] {
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: visibility 0.8s ease 0s;
    visibility: hidden;
    pointer-events: none;
}

[data-fls-popup][data-fls-popup-active] {
    z-index: 1500;
    visibility: visible;
    overflow: auto;
    pointer-events: auto;
}

[data-fls-popup-active] [data-fls-popup-body] {
    visibility: visible;
    transform: translateX(0);
}

[data-fls-popup-active] [data-fls-popup-close] {
    transform: translateX(0);
    opacity: 1;
}

[data-fls-popup-wrapper] {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
}

[data-fls-popup-body] {
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform 0.3s ease 0s, visibility 0.3s ease 0s;
    background-color: var(--black-2);
    padding: 2.5rem;
    width: 100%;
    height: 100%;
    max-width: 41.9375rem;
    overflow: auto;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

[data-fls-popup-body]::-webkit-scrollbar {
    display: none;
}

[data-fls-popup-body] .wpcf7-form {
    padding: 0;
    background-color: var(--black-2);
    border: none;
    align-items: flex-start;
}

[data-fls-popup-body] .wpcf7-form .form__title {
    text-transform: uppercase;
    text-align: left;
}

[data-fls-popup-body] .wpcf7-form .form__text {
    text-align: left;
}

[data-fls-popup-body] .wpcf7-form .form__grid .form__group:not(:last-child) {
    margin-bottom: 0;
}

[data-fls-popup-body] .wpcf7-form .btn {
    min-width: 16.9375rem;
}

[data-fls-popup-youtube-place] iframe {
    width: 100%;
    aspect-ratio: 16/9;
}

[data-fls-popup-close] {
    z-index: 100;
    top: 1.25rem;
    right: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(100%);
    opacity: 0;
    transition: all 0.3s;
}

[data-fls-popup-close]:focus, [data-fls-popup-close]:hover {
    outline: none;
}

[data-fls-popup-close]::before {
    content: "";
    width: 1.625rem;
    height: 1.625rem;
    background: url('data:image/svg+xml,<svg width="100%" height="100%" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.19598 25C2.35283 25.0001 2.50815 24.9691 2.65301 24.909C2.79788 24.8488 2.92944 24.7606 3.04013 24.6495L24.6498 3.04046C24.874 2.8163 24.9999 2.51228 24.9999 2.19527C24.9999 1.87827 24.874 1.57424 24.6498 1.35009C24.4257 1.12593 24.1217 1 23.8047 1C23.4878 1 23.1838 1.12593 22.9596 1.35009L1.34993 22.962C1.18341 23.1291 1.07011 23.3418 1.02429 23.5733C0.978482 23.8047 1.00221 24.0445 1.0925 24.2625C1.18278 24.4805 1.33558 24.6668 1.53161 24.7981C1.72765 24.9293 1.96007 24.9996 2.19598 25Z" fill="white" /><path d="M23.8038 25C24.0398 25 24.2706 24.93 24.4669 24.7989C24.6633 24.6678 24.8164 24.4814 24.9069 24.2634C24.9974 24.0453 25.0213 23.8054 24.9756 23.5737C24.9298 23.3421 24.8165 23.1292 24.6498 22.962L3.04013 1.35009C2.81599 1.12593 2.512 1 2.19503 1C1.87805 1 1.57406 1.12593 1.34993 1.35009C1.1258 1.57424 0.999878 1.87827 0.999878 2.19527C0.999878 2.51228 1.1258 2.8163 1.34993 3.04046L22.9596 24.6524C23.0706 24.763 23.2022 24.8506 23.3471 24.9103C23.4919 24.97 23.6471 25.0004 23.8038 25Z" fill="white" /><path d="M2.19598 25C2.35283 25.0001 2.50815 24.9691 2.65301 24.909C2.79788 24.8488 2.92944 24.7606 3.04013 24.6495L24.6498 3.04046C24.874 2.8163 24.9999 2.51228 24.9999 2.19527C24.9999 1.87827 24.874 1.57424 24.6498 1.35009C24.4257 1.12593 24.1217 1 23.8047 1C23.4878 1 23.1838 1.12593 22.9596 1.35009L1.34993 22.962C1.18341 23.1291 1.07011 23.3418 1.02429 23.5733C0.978482 23.8047 1.00221 24.0445 1.0925 24.2625C1.18278 24.4805 1.33558 24.6668 1.53161 24.7981C1.72765 24.9293 1.96007 24.9996 2.19598 25Z" stroke="white" stroke-width="0.4" /><path d="M23.8038 25C24.0398 25 24.2706 24.93 24.4669 24.7989C24.6633 24.6678 24.8164 24.4814 24.9069 24.2634C24.9974 24.0453 25.0213 23.8054 24.9756 23.5737C24.9298 23.3421 24.8165 23.1292 24.6498 22.962L3.04013 1.35009C2.81599 1.12593 2.512 1 2.19503 1C1.87805 1 1.57406 1.12593 1.34993 1.35009C1.1258 1.57424 0.999878 1.87827 0.999878 2.19527C0.999878 2.51228 1.1258 2.8163 1.34993 3.04046L22.9596 24.6524C23.0706 24.763 23.2022 24.8506 23.3471 24.9103C23.4919 24.97 23.6471 25.0004 23.8038 25Z" stroke="white" stroke-width="0.4" /></svg>') center no-repeat;
    transition: background 0.3s;
}

@media (max-width: 61.99875em) and (any-hover: none) {
    .icon-menu {
        cursor: default;
    }
}

@media (max-width: 61.99875em) {
    .swiper-nav {
        margin-top: 2.5rem;
    }

    .header__phone {
        margin-left: auto;
    }

    .menu {
        position: fixed;
        width: 100%;
        height: 100%;
        left: -100%;
        top: 0;
        overflow: auto;
        padding: 4.1875rem 1rem 1.875rem 1rem;
        transition: left 0.3s;
        background: var(--black);
    }

    .menu::before {
        content: "";
        position: fixed;
        width: 100%;
        height: 4.1875rem;
        left: -100%;
        top: 0;
        transition: left 0.3s;
        z-index: 2;
        background: var(--black);
    }

    [data-fls-menu-open] .menu {
        left: 0;
    }

    [data-fls-menu-open] .menu::before {
        left: 0;
    }

    .menu__nav {
        padding-top: 2rem;
        border-top: 0.0625rem solid var(--border);
    }

    .menu__nav:not(:last-child) {
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        border-bottom: 0.0625rem solid var(--border);
    }

    .menu__nav ul {
        flex-direction: column;
        row-gap: 1.25rem;
        align-items: flex-start;
        width: 100%;
    }

    .menu__nav ul li {
        width: 100%;
    }

    .menu__nav ul li a {
        padding: 0;
        width: 100%;
    }

    .menu__nav ul li a::after {
        content: "";
        margin-left: auto;
        width: 1.875rem;
        height: 1.875rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border-radius: 50%;
        background-color: var(--black-2);
        background-image: url('data:image/svg+xml,<svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.919922 1.02637C1.22056 0.727253 1.70639 0.724843 2.00977 1.01953H2.01074L8.8623 7.26465L8.86914 7.27051C9.01272 7.41404 9.08321 7.59711 9.0918 7.7793V7.91504C9.08356 8.09709 9.01281 8.27989 8.86914 8.42285L8.86328 8.42871L2.01074 14.6738L2.00977 14.6729C1.70641 14.9677 1.2216 14.9661 0.920898 14.667C0.617548 14.3651 0.617492 13.8751 0.920898 13.5732L0.926758 13.5674L7.20312 7.84668L0.926758 2.12598L0.919922 2.12012C0.616628 1.81831 0.616788 1.32827 0.919922 1.02637Z" fill="white" stroke="white" stroke-width="0.4" /></svg>');
        background-repeat: no-repeat;
        background-position: center;
    }

    .icon-menu {
        display: block;
        position: relative;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 50%;
        background: var(--black-2);
        z-index: 5;
        flex-shrink: 0;
    }

    .icon-menu span, .icon-menu::before, .icon-menu::after {
        content: "";
        transition: all 0.3s ease 0s;
        left: 50%;
        position: absolute;
        width: 1.25rem;
        height: 0.125rem;
        transform: translateX(-50%);
        background-color: var(--white);
    }

    .icon-menu::before {
        top: 0.75rem;
    }

    .icon-menu::after {
        bottom: 0.75rem;
        width: 0.625rem;
        transform: translateX(-100%);
    }

    .icon-menu span {
        top: calc(50% - 0.0625rem);
    }

    [data-fls-menu-open] .icon-menu span {
        width: 0;
    }

    [data-fls-menu-open] .icon-menu::before {
        top: calc(50% - 0.0625rem);
        transform: translateX(-50%) rotate(-45deg);
    }

    [data-fls-menu-open] .icon-menu::after {
        bottom: calc(50% - 0.0625rem);
        width: 1.25rem;
        transform: translateX(-50%) rotate(45deg);
    }

    .footer__inner {
        flex-direction: column;
    }

    .hero__container {
        padding-left: 0;
        padding-right: 0;
    }

    .hero__content {
        padding: 1.875rem 1rem 6.25rem;
        background: rgba(1, 4, 0, 0.7);
    }

    .hero__item {
        align-items: flex-start;
        flex-direction: column;
        row-gap: 0.75rem;
    }

    .hero .swiper-nav {
        bottom: 1.875rem;
        left: 1rem;
    }

    .work::before {
        background-size: cover;
    }

    .work__list {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem;
    }

    .review__link {
        padding: 0.375rem 1.25rem;
        min-width: 15.875rem;
    }

    .map__list {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-us::before {
        background-size: cover;
    }

    .about-us {
        font-size: 0.875rem;
    }

    .about-us__top {
        display: flex;
        flex-direction: column;
        row-gap: 3.0625rem;
    }

    .about-us__body {
        display: flex;
        flex-direction: column;
        row-gap: 2.5rem;
    }

    .about-us__info {
        display: flex;
        flex-direction: column;
        row-gap: 2.5rem;
    }

    .about-us__info:not(:last-child) {
        margin-bottom: 2.25rem;
    }

    .about-us__number strong {
        color: var(--white);
    }

    .gallery::before {
        background-size: cover;
    }

    .discuss::before {
        background-size: cover;
    }

    .form__grid {
        display: flex;
        flex-direction: column;
    }

    [data-fls-popup-body] {
        max-width: 100%;
    }

    [data-fls-popup-close] {
        position: absolute;
        right: 0.625rem;
        background: transparent;
    }
}

@media (max-width: 47.99875em) {
    .menu__body {
        position: fixed;
        width: 100%;
        height: 100%;
        left: -100%;
        top: 0;
        overflow: auto;
        padding: 3.125rem 0.9375rem 1.875rem 0.9375rem;
        transition: left 0.3s;
    }

    .menu__body::before {
        content: "";
        position: fixed;
        width: 100%;
        height: 4.375rem;
        left: -100%;
        top: 0;
        transition: left 0.3s;
        z-index: 2;
    }

    [data-fls-menu-open] .menu__body {
        left: 0;
    }

    [data-fls-menu-open] .menu__body::before {
        left: 0;
    }

    .footer__info {
        row-gap: 2rem;
    }

    .footer__logo {
        max-width: 14.125rem;
    }

    .footer__content {
        display: flex;
        flex-direction: column;
        row-gap: 4rem;
    }

    .footer .btn-border {
        min-width: 10.125rem;
    }

    .hero__actions {
        flex-direction: column;
        row-gap: 0.625rem;
    }

    .hero__actions .btn {
        width: 100%;
    }

    .reviews__slider:not(.swiper-initialized) .projects__slide {
        width: 100%;
    }

    .review {
        width: 100%;
    }

    .map__list {
        display: flex;
        flex-direction: column;
        row-gap: 1rem;
    }

    .projects__slider:not(.swiper-initialized) .projects__slide {
        width: 100%;
    }

    .project__img::before {
        padding-bottom: 60.1%;
    }

    .about-us__img img {
        aspect-ratio: 361/228;
    }

    .services__slider:not(.swiper-initialized) {
        overflow: hidden;
    }

    .services__slider:not(.swiper-initialized) .swiper-wrapper {
        display: flex;
    }

    .services__slider:not(.swiper-initialized) .swiper-slide {
        width: 100%;
        flex-shrink: 0;
    }

    .cart-services__img img {
        aspect-ratio: 361/250;
    }

    .cart-services .btn {
        min-width: 10.125rem;
    }

    .gallery__img img {
        aspect-ratio: 361/307;
        object-fit: cover;
    }

    .wpcf7-form {
        padding: 1.25rem 0.625rem;
    }

    [data-fls-popup-body] {
        padding: 1.25rem 0.625rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__title {
        padding-right: 3.125rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__text {
        padding-right: 3.125rem;
    }

    [data-fls-popup-body] .wpcf7-form .btn {
        width: 100%;
    }

    [data-fls-popup-close]::before {
        width: 1.125rem;
        height: 1.125rem;
    }
}

@media (max-width: 29.99875em) {
    .work::before {
        background-image: url("../assets/img/work-bg-mob.png");
    }

    .map__img img {
        aspect-ratio: 361/283;
    }

    .about-us::before {
        background-image: url("../assets/img/work-bg-mob.png");
    }

    .gallery::before {
        background-image: url("../assets/img/work-bg-mob.png");
    }

    .discuss::before {
        background-image: url("../assets/img/form-bg-mob.png");
    }

    .wpcf7-form .btn {
        width: 100%;
    }
}

@media (max-width: 24.5625em) {
    .title {
        font-size: 2.1875rem;
    }

    .title:not(:last-child) {
        margin-bottom: 2.5rem;
    }

    .section {
        padding-top: 1.875rem;
    }

    .section {
        padding-bottom: 1.875rem;
    }

    .btn {
        font-size: 0.875rem;
    }

    .menu__nav ul li a {
        font-size: 0.875rem;
    }

    .footer {
        padding-top: 1.875rem;
    }

    .footer {
        padding-bottom: 1.875rem;
    }

    .footer__nav ul li a {
        font-size: 0.875rem;
    }

    .hero__title {
        font-size: 2.8125rem;
    }

    .hero__title:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .hero__text {
        font-size: 0.875rem;
    }

    .hero__text:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .hero__list:not(:last-child) {
        margin-bottom: 2.5rem;
    }

    .hero__item {
        font-size: 0.875rem;
    }

    .hero__item strong {
        font-size: 1.5rem;
    }

    .work__item {
        font-size: 0.875rem;
    }

    .review__text {
        font-size: 0.875rem;
    }

    .review__link {
        font-size: 0.875rem;
    }

    .map__list:not(:last-child) {
        margin-bottom: 2.5rem;
    }

    .map__item {
        font-size: 0.875rem;
    }

    .project__img:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .project__title {
        font-size: 1.5rem;
    }

    .project__title:not(:last-child) {
        margin-bottom: 1rem;
    }

    .project__list:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .project__text:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .about-us__number strong {
        font-size: 1.5rem;
    }

    .about-us__item:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .cart-services__text {
        font-size: 0.875rem;
    }

    .form__title {
        font-size: 1.5rem;
    }

    .form__text {
        font-size: 0.875rem;
    }

    .form__info {
        font-size: 0.75rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__grid:not(:last-child) {
        margin-bottom: 1rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__group:not(:last-child) {
        margin-bottom: 1rem;
    }
}

@media (min-width: 24.5625em) and (max-width: 77em) {
    .title {
        font-size: clamp(2.1875rem, 1.74836114421875rem + 1.7878426698vw, 3.125rem);
    }

    .title:not(:last-child) {
        margin-bottom: clamp(2.5rem, 1.79737783075rem + 2.8605482718vw, 4rem);
    }

    .section {
        padding-top: clamp(1.875rem, 0.4112038140625rem + 5.9594755662vw, 5rem);
    }

    .section {
        padding-bottom: clamp(1.875rem, 0.4112038140625rem + 5.9594755662vw, 5rem);
    }

    .btn {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .menu__nav ul li a {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .footer {
        padding-top: clamp(1.875rem, 0.4112038140625rem + 5.9594755662vw, 5rem);
    }

    .footer {
        padding-bottom: clamp(1.875rem, 0.4112038140625rem + 5.9594755662vw, 5rem);
    }

    .footer__nav ul li a {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .hero__title {
        font-size: clamp(2.8125rem, 2.37336114421875rem + 1.7878426698vw, 3.75rem);
    }

    .hero__title:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .hero__text {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .hero__text:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .hero__list:not(:last-child) {
        margin-bottom: clamp(2.5rem, 1.79737783075rem + 2.8605482718vw, 4rem);
    }

    .hero__item {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .hero__item strong {
        font-size: clamp(1.5rem, 1.17796483909375rem + 1.3110846246vw, 2.1875rem);
    }

    .work__item {
        font-size: clamp(0.875rem, 0.5822407628125rem + 1.1918951132vw, 1.5rem);
    }

    .review__text {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .review__link {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .map__list:not(:last-child) {
        margin-bottom: clamp(2.5rem, 1.79737783075rem + 2.8605482718vw, 4rem);
    }

    .map__item {
        font-size: clamp(0.875rem, 0.5822407628125rem + 1.1918951132vw, 1.5rem);
    }

    .project__img:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .project__title {
        font-size: clamp(1.5rem, 1.148688915375rem + 1.4302741359vw, 2.25rem);
    }

    .project__title:not(:last-child) {
        margin-bottom: clamp(1rem, 0.76579261025rem + 0.9535160906vw, 1.5rem);
    }

    .project__list:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .project__text:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .about-us__number strong {
        font-size: clamp(1.5rem, 1.17796483909375rem + 1.3110846246vw, 2.1875rem);
    }

    .about-us__item:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.26579261025rem + 0.9535160906vw, 2rem);
    }

    .cart-services__text {
        font-size: clamp(0.875rem, 0.78717222884375rem + 0.357568534vw, 1.0625rem);
    }

    .form__title {
        font-size: clamp(1.5rem, 1.0315852205rem + 1.9070321812vw, 2.5rem);
    }

    .form__text {
        font-size: clamp(0.875rem, 0.5822407628125rem + 1.1918951132vw, 1.5rem);
    }

    .form__info {
        font-size: clamp(0.75rem, 0.6914481525625rem + 0.2383790226vw, 0.875rem);
    }

    [data-fls-popup-body] .wpcf7-form .form__grid:not(:last-child) {
        margin-bottom: clamp(1rem, 0.5315852205rem + 1.9070321812vw, 2rem);
    }

    [data-fls-popup-body] .wpcf7-form .form__group:not(:last-child) {
        margin-bottom: clamp(1rem, 0.5315852205rem + 1.9070321812vw, 2rem);
    }
}

@media (min-width: 47.99875em) {
    .footer__content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .map__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem;
    }

    .services__wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5rem 1.25rem;
    }

    .cart-services .btn {
        opacity: 0;
        pointer-events: none;
    }

    .gallery__wrapper {
        display: grid;
        gap: 1.25rem;
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: repeat(2, 29.5rem);
    }

    .gallery__slide:nth-child(4n+1) {
        grid-column: span 5;
    }

    .gallery__slide:nth-child(4n+2) {
        grid-column: span 7;
    }

    .gallery__slide:nth-child(4n+3) {
        grid-column: span 7;
    }

    .gallery__slide:nth-child(4n+4) {
        grid-column: span 5;
    }
}

@media (min-width: 61.99875em) {
    section:has(.swiper-nav) .title {
        padding-right: 12.5rem;
    }

    .swiper-nav {
        position: absolute;
        top: 0.3125rem;
        right: 1rem;
    }

    .menu .menu__social,
    .menu .menu__contacts {
        display: none;
    }

    .hero__content {
        min-height: calc(100svh - 4.1875rem);
        max-width: 44.375rem;
        padding: 5rem 1.875rem 7.5rem;
        backdrop-filter: blur(0.3125rem);
        background: rgba(12, 10, 0, 0.6);
    }

    .work__list {
        column-count: 2;
        margin-bottom: -1.25rem;
    }

    .work__item {
        padding-right: 1rem;
    }

    .work__item:not(:last-child) {
        margin-bottom: 2.5rem;
    }

    .about-us__top {
        display: grid;
        grid-template-columns: 1fr 55%;
        gap: 1.25rem;
    }

    .about-us__body {
        display: grid;
        grid-template-columns: 1fr 55%;
        gap: 1.25rem;
    }

    .about-us__info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem 2rem;
    }

    .services .swiper-nav {
        display: none;
    }

    .gallery .swiper-nav {
        display: none;
    }

    .form__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    [data-fls-popup-close] {
        position: fixed;
        backdrop-filter: blur(0.3125rem);
        background: rgba(33, 33, 33, 0.2);
    }
}

@media (min-width: 62rem) {
    html,
    html * {
        scrollbar-color: auto;
        scrollbar-width: auto;
    }

    html::-webkit-scrollbar,
    html *::-webkit-scrollbar {
        width: 0.25rem;
        height: 0.25rem;
    }

    html::-webkit-scrollbar-button,
    html *::-webkit-scrollbar-button {
        display: none;
    }

    html::-webkit-scrollbar-track,
    html *::-webkit-scrollbar-track {
        background: #010400;
    }

    html::-webkit-scrollbar-track-piece,
    html *::-webkit-scrollbar-track-piece {
        background: #010400;
    }

    html::-webkit-scrollbar-thumb,
    html *::-webkit-scrollbar-thumb {
        background: #deff76;
        border-radius: 2rem;
    }

    html::-webkit-scrollbar-corner,
    html *::-webkit-scrollbar-corner {
        background: #010400;
    }
}

@media (min-width: 77em) {
    .title {
        font-size: 3.125rem;
    }

    .title:not(:last-child) {
        margin-bottom: 4rem;
    }

    .section {
        padding-top: 5rem;
    }

    .section {
        padding-bottom: 5rem;
    }

    .btn {
        font-size: 1.0625rem;
    }

    .menu__nav ul li a {
        font-size: 1.0625rem;
    }

    .footer {
        padding-top: 5rem;
    }

    .footer {
        padding-bottom: 5rem;
    }

    .footer__nav ul li a {
        font-size: 1.0625rem;
    }

    .hero__title {
        font-size: 3.75rem;
    }

    .hero__title:not(:last-child) {
        margin-bottom: 2rem;
    }

    .hero__text {
        font-size: 1.0625rem;
    }

    .hero__text:not(:last-child) {
        margin-bottom: 2rem;
    }

    .hero__list:not(:last-child) {
        margin-bottom: 4rem;
    }

    .hero__item {
        font-size: 1.0625rem;
    }

    .hero__item strong {
        font-size: 2.1875rem;
    }

    .work__item {
        font-size: 1.5rem;
    }

    .review__text {
        font-size: 1.0625rem;
    }

    .review__link {
        font-size: 1.0625rem;
    }

    .map__list:not(:last-child) {
        margin-bottom: 4rem;
    }

    .map__item {
        font-size: 1.5rem;
    }

    .project__img:not(:last-child) {
        margin-bottom: 2rem;
    }

    .project__title {
        font-size: 2.25rem;
    }

    .project__title:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .project__list:not(:last-child) {
        margin-bottom: 2rem;
    }

    .project__text:not(:last-child) {
        margin-bottom: 2rem;
    }

    .about-us__number strong {
        font-size: 2.1875rem;
    }

    .about-us__item:not(:last-child) {
        margin-bottom: 2rem;
    }

    .cart-services__text {
        font-size: 1.0625rem;
    }

    .form__title {
        font-size: 2.5rem;
    }

    .form__text {
        font-size: 1.5rem;
    }

    .form__info {
        font-size: 0.875rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__grid:not(:last-child) {
        margin-bottom: 2rem;
    }

    [data-fls-popup-body] .wpcf7-form .form__group:not(:last-child) {
        margin-bottom: 2rem;
    }
}

@media (any-hover: hover) {
    .btn-main:hover::before {
        inset: 0;
    }

    .btn-border:hover {
        background: var(--accent);
        color: var(--black);
    }

    .swiper-button-prev:hover,
    .swiper-button-next:hover {
        background: var(--accent);
    }

    .swiper-button-prev:hover::before,
    .swiper-button-next:hover::before {
        color: var(--black);
    }

    .select__option:hover {
        background: var(--accent);
        color: var(--black);
    }

    .header__phone:hover {
        background: var(--accent);
        color: var(--black);
    }

    .menu__nav ul li a:hover {
        color: var(--accent);
    }

    .footer__nav ul li a:hover {
        color: var(--accent);
    }

    .social__link:hover {
        color: var(--accent);
    }

    .contacts a:hover {
        color: var(--accent);
    }

    .review__link:hover {
        box-shadow: 0 0 0 0.0625rem var(--accent);
    }

    .cart-services:hover .btn {
        opacity: 1;
        pointer-events: initial;
    }

    [data-fls-popup-close]:hover {
        background: var(--accent);
    }

    [data-fls-popup-close]:hover::before {
        background: url('data:image/svg+xml,<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.19598 25C2.35283 25.0001 2.50815 24.9691 2.65301 24.909C2.79788 24.8488 2.92944 24.7606 3.04013 24.6495L24.6498 3.04046C24.874 2.8163 24.9999 2.51228 24.9999 2.19527C24.9999 1.87827 24.874 1.57424 24.6498 1.35009C24.4257 1.12593 24.1217 1 23.8047 1C23.4878 1 23.1838 1.12593 22.9596 1.35009L1.34993 22.962C1.18341 23.1291 1.07011 23.3418 1.02429 23.5733C0.978482 23.8047 1.00221 24.0445 1.0925 24.2625C1.18278 24.4805 1.33558 24.6668 1.53161 24.7981C1.72765 24.9293 1.96007 24.9996 2.19598 25Z" fill="black" /><path d="M23.8038 25C24.0398 25 24.2706 24.93 24.4669 24.7989C24.6633 24.6678 24.8164 24.4814 24.9069 24.2634C24.9974 24.0453 25.0213 23.8054 24.9756 23.5737C24.9298 23.3421 24.8165 23.1292 24.6498 22.962L3.04013 1.35009C2.81599 1.12593 2.512 1 2.19503 1C1.87805 1 1.57406 1.12593 1.34993 1.35009C1.1258 1.57424 0.999878 1.87827 0.999878 2.19527C0.999878 2.51228 1.1258 2.8163 1.34993 3.04046L22.9596 24.6524C23.0706 24.763 23.2022 24.8506 23.3471 24.9103C23.4919 24.97 23.6471 25.0004 23.8038 25Z" fill="black" /><path d="M2.19598 25C2.35283 25.0001 2.50815 24.9691 2.65301 24.909C2.79788 24.8488 2.92944 24.7606 3.04013 24.6495L24.6498 3.04046C24.874 2.8163 24.9999 2.51228 24.9999 2.19527C24.9999 1.87827 24.874 1.57424 24.6498 1.35009C24.4257 1.12593 24.1217 1 23.8047 1C23.4878 1 23.1838 1.12593 22.9596 1.35009L1.34993 22.962C1.18341 23.1291 1.07011 23.3418 1.02429 23.5733C0.978482 23.8047 1.00221 24.0445 1.0925 24.2625C1.18278 24.4805 1.33558 24.6668 1.53161 24.7981C1.72765 24.9293 1.96007 24.9996 2.19598 25Z" stroke="black" stroke-width="0.4" /><path d="M23.8038 25C24.0398 25 24.2706 24.93 24.4669 24.7989C24.6633 24.6678 24.8164 24.4814 24.9069 24.2634C24.9974 24.0453 25.0213 23.8054 24.9756 23.5737C24.9298 23.3421 24.8165 23.1292 24.6498 22.962L3.04013 1.35009C2.81599 1.12593 2.512 1 2.19503 1C1.87805 1 1.57406 1.12593 1.34993 1.35009C1.1258 1.57424 0.999878 1.87827 0.999878 2.19527C0.999878 2.51228 1.1258 2.8163 1.34993 3.04046L22.9596 24.6524C23.0706 24.763 23.2022 24.8506 23.3471 24.9103C23.4919 24.97 23.6471 25.0004 23.8038 25Z" stroke="black" stroke-width="0.4" /></svg>') center no-repeat;
    }
}