@import "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap";

.fx {
    flex-wrap: wrap;
    display: flex
}

.fx-x-between {
    justify-content: space-between
}

.fx-x-start {
    justify-content: flex-start
}

.fx-x-center {
    justify-content: center
}

.fx-x-end {
    justify-content: flex-end
}

.fx-y-center {
    place-items: center
}

.fx-y-between {
    place-content: space-between
}

.fx-y-start {
    place-items: flex-start
}

.fx-y-end {
    place-items: flex-end
}

.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.relative {
    position: relative
}

.clearfix {
    width: 100%;
    height: 0
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: #0000;
    -webkit-tap-highlight-color: transparent;
    border: 0;
    outline: none;
    margin: 0;
    padding: 0
}

a,
button {
    cursor: pointer;
    text-decoration: none
}

ul {
    list-style: none
}

body {
    font-optical-sizing: auto;
    font-variation-settings: "slnt" 0;
    background: #fff;
    width: 100vw;
    height: 100%;
    font-family: Inter, sans-serif;
    font-style: normal
}

body.no-scroll {
    overflow: hidden
}

html {
    scroll-behavior: smooth;
    scroll-snap-align: start;
    scrollbar-width: thin;
    scroll-padding: 180px;
    overflow: hidden auto
}

html.no-scroll {
    overflow: hidden
}

header {
    z-index: 10;
    width: 100vw;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0
}

header.window-move {
    background: #fff
}

header.window-move .logo img:last-child {
    display: block
}

header.window-move .logo img:first-child {
    display: none
}

header.window-move .menu a,
header.window-move .phone {
    color: #000
}

header.window-move .menu-toggle {
    filter: invert()
}

header .logo {
    width: 124px;
    height: 19px
}

header .logo img:last-child {
    display: none
}

header .menu {
    gap: 30px
}

header .menu a {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    text-decoration: none
}

header .menu a.router-active,
header .menu a:hover {
    text-underline-offset: 14px;
    text-decoration-line: underline;
    text-decoration-color: #f0c631;
    text-decoration-thickness: 2px
}

header .phone {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

header .phone:hover {
    color: #f0c631
}

header .menu-toggle,
header.fixed .logo img:first-child {
    display: none
}

header.fixed .logo img:last-child {
    display: block
}

.mobile-menu {
    z-index: 100;
    background: #fff;
    flex-wrap: wrap;
    width: 100vw;
    height: 100%;
    display: none;
    position: fixed;
    top: 0;
    left: 0
}

.mobile-menu.active {
    display: flex
}

.mobile-menu .container {
    height: 100%
}

.mobile-menu .head {
    width: 100%;
    height: 56px
}

.mobile-menu .head .logo,
.mobile-menu .head .logo img {
    width: 104px;
    height: 16px
}

.mobile-menu .menu-toggle {
    background: 0 0;
    width: 20px;
    height: 20px;
    display: flex
}

.mobile-menu .phone {
    color: #000;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    margin-bottom: 60px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

.mobile-menu .list {
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
    display: flex
}

.mobile-menu .list a {
    color: #000;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

footer {
    background: #000;
    width: 100%;
    margin-top: 60px
}

footer .banner {
    background: #f0c631;
    width: 100%;
    padding: 45px 0
}

footer .banner .phone,
footer .banner .title {
    color: #000;
    text-transform: uppercase;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%
}

footer .banner .phone {
    font-family: Inter
}

footer .information {
    width: 100%;
    padding: 100px 0 105px
}

footer .contact {
    gap: 40px;
    width: 100%
}

footer .contact .logo,
footer .contact .logo img {
    width: 176px;
    height: 27px
}

footer .contact .links {
    gap: 158px;
    padding-right: 24px
}

footer .contact .links .item {
    flex-direction: column
}

footer .contact .links .label {
    color: #6e6e6e;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

footer .contact .links .link {
    color: #fff;
    text-transform: uppercase;
    margin-top: 12px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

footer .contact .links .link img {
    width: 16px;
    height: 16px;
    margin-right: 8px
}

footer .line {
    background: #6e6e6e;
    width: 100%;
    height: 2px;
    margin-top: 63px
}

footer .copyright {
    color: #6e6e6e;
    text-transform: uppercase;
    width: 100%;
    margin-top: 38px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

main,
main>section {
    width: 100%
}

section[data-name=utp] {
    min-height: 100svh
}

section[data-name=utp] .cover {
    content: "";
    z-index: -1;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

section[data-name=utp] .title {
    color: #fff;
    width: 100%;
    font-size: 80px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%
}

section[data-name=utp] .desc {
    color: #fff;
    width: 100%;
    max-width: 570px;
    margin-top: 28px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=utp] .list {
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr;
    gap: 15px 60px;
    max-width: 640px;
    margin-top: 60px;
    display: grid
}

section[data-name=utp] .list li {
    color: #fff;
    padding-left: 20px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    position: relative
}

section[data-name=utp] .list li:after {
    content: "";
    background: #f0c631;
    border-radius: 100%;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 8px;
    left: 0
}

section[data-name=utp] .btn {
    color: #000;
    text-align: center;
    background: #f0c631;
    margin-top: 60px;
    padding: 19px 54px;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    display: inline-block
}

section[data-name=utp] .btn:hover {
    background: #fff
}

section[data-name=utp].utp-v2 .desc {
    margin-top: 60px
}

section[data-name=about] {
    margin-top: 150px
}

section[data-name=about] .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

section[data-name=about] .desc {
    color: #6e6e6e;
    width: 100%;
    max-width: 570px;
    margin-top: 40px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=about] .art {
    background-image: url(/assets/icons/dot-art.svg);
    width: 250px;
    height: 136px;
    position: absolute;
    top: 0;
    right: 0
}

section[data-name=vantage] {
    margin-top: 64px
}

section[data-name=vantage] .container {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 9px;
    display: grid
}

section[data-name=vantage] .item {
    background: #fafafa;
    padding: 30px
}

section[data-name=vantage] .item .icon {
    width: 120px;
    height: 120px
}

section[data-name=vantage] .item .text {
    color: #000;
    width: 100%;
    margin-top: 62px;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%
}

section[data-name=vantage] .item .text span {
    color: #73640a;
    font-weight: 500
}

section[data-name=vantage] .item.accent {
    z-index: 1;
    background: #f0c631;
    position: relative;
    box-shadow: 0 173px 69px #00000003, 0 98px 59px #0000000d, 0 43px 43px #00000017, 0 11px 24px #0000001a, 0 0 #0000001a
}

section[data-name=works] {
    margin-top: 200px
}

section[data-name=works] .head {
    width: 100%
}

section[data-name=works] .head .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

section[data-name=works] .head .desc {
    color: #6e6e6e;
    width: 100%;
    max-width: 570px;
    margin-top: 40px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=works] .head .note {
    color: #6e6e6e;
    z-index: 0;
    width: 50%;
    padding: 20px 0 20px 24px;
    font-size: 20px;
    font-weight: 500;
    line-height: 130%;
    position: absolute;
    top: 0;
    right: 0
}

section[data-name=works] .head .note:after {
    content: "";
    z-index: -1;
    background: #fafafa;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

section[data-name=works] .list {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    width: 100%;
    margin-top: 96px;
    display: grid
}

section[data-name=works] .list:after {
    content: "";
    z-index: -1;
    background-image: url(/assets/icons/dot-art.svg);
    width: 250px;
    height: 250px;
    position: absolute;
    top: -40px;
    left: -40px
}

section[data-name=works] .item {
    flex-wrap: wrap;
    gap: 64px;
    width: 100%;
    display: flex
}

section[data-name=works] .item .image {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 560px
}

section[data-name=works] .item .info {
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    display: flex
}

section[data-name=works] .item .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

section[data-name=works] .item .text {
    color: #6e6e6e;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=works] .item .btn {
    color: #000;
    text-align: center;
    background: #f0c631;
    padding: 19px 54px;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    display: inline-block
}

section[data-name=works] .item .btn:hover {
    opacity: .9
}

section[data-name=works] .item:nth-child(2n) {
    flex-wrap: wrap-reverse
}

section[data-name=price] {
    margin-top: 200px
}

section[data-name=price] .head {
    width: 100%
}

section[data-name=price] .head .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

section[data-name=price] .head .desc {
    color: #6e6e6e;
    width: 100%;
    max-width: 570px;
    margin-top: 40px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=price] .head .desc span {
    color: #000;
    font-weight: 700
}

section[data-name=price] .head .art {
    background-image: url(/assets/icons/dot-art.svg);
    width: 250px;
    height: 110px;
    position: absolute;
    top: 0;
    right: 0
}

section[data-name=price] .list {
    flex-wrap: wrap;
    width: 100%;
    margin-top: 60px;
    display: flex
}

section[data-name=price] .item {
    flex-wrap: wrap;
    justify-content: space-between;
    place-items: center;
    width: 100%;
    padding: 40px 30px;
    display: flex
}

section[data-name=price] .item:nth-child(odd) {
    background: #f9f9f9
}

section[data-name=price] .item .name {
    color: #000
}

section[data-name=price] .item .name,
section[data-name=price] .item .value {
    font-feature-settings: "tnum" on, "lnum" on;
    width: 50%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%
}

section[data-name=price] .item .value {
    color: #6e6e6e;
    padding-left: 30px
}

section[data-name=production] {
    margin-top: 80px
}

section[data-name=production] .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

section[data-name=production] .cards {
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
    width: 100%;
    margin-top: 40px;
    display: grid
}

section[data-name=production] .card {
    cursor: pointer;
    border: 7px solid #f0c631;
    flex-wrap: wrap;
    place-items: flex-end;
    width: 100%;
    height: 285px;
    display: flex;
    position: relative
}

section[data-name=production] .card:after {
    content: "";
    z-index: 1;
    background: #f0c631;
    width: 64px;
    height: 64px;
    transition: all .4s;
    position: absolute;
    top: 0;
    right: 0
}

section[data-name=production] .card .image {
    filter: brightness(40%);
    object-fit: cover;
    object-position: 50% 50%;
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute
}

section[data-name=production] .card .text {
    color: #fff;
    z-index: 2;
    padding: 40px;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    transition: all .4s;
    position: relative
}

section[data-name=production] .card:hover:after {
    width: 100%;
    height: 100%;
    transition: all .4s
}

section[data-name=production] .card:hover .text {
    color: #000;
    transition: all .4s
}

section[data-name=about_full] {
    margin-top: 120px;
    margin-bottom: 56px
}

section[data-name=about_full] .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

section[data-name=about_full] .text {
    color: #6e6e6e;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

section[data-name=about_full] .phone {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%;
    transition: all .4s
}

section[data-name=about_full] .phone:hover {
    color: #f0c631;
    transition: all .4s
}

section[data-name=about_full] .btn {
    color: #000;
    text-align: center;
    background: #f0c631;
    padding: 19px 54px;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    transition: all .4s;
    display: inline-block
}

section[data-name=about_full] .btn:hover {
    opacity: .9;
    transition: all .4s
}

section[data-name=about_full] .column {
    flex-wrap: wrap;
    gap: 40px;
    width: 50%;
    margin-top: 40px;
    padding-right: 30px;
    display: flex
}

section[data-name=about_full] .column.right {
    margin-top: 210px;
    margin-left: 50%;
    padding-left: 30px;
    padding-right: 0
}

section[data-name=about_full] .art {
    z-index: -1;
    background: url(/assets/images/about.webp) 50%/auto 100% no-repeat fixed;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0
}

section[data-name=about_full] .art:after {
    content: "";
    background: #fff;
    width: calc(50% + 30px);
    height: 485px;
    position: absolute;
    top: -1px;
    left: -1px
}

section[data-name=about_full] .art:before {
    content: "";
    background: #fff;
    width: calc(50% + 30px);
    height: 512px;
    position: absolute;
    bottom: -1px;
    right: -1px
}

section[data-name=about_full] .art .midline {
    background: #fff;
    width: 60px;
    height: calc(100% + 2px);
    margin-left: -30px;
    position: absolute;
    top: -1px;
    left: 50%
}

section[data-name=about_full] .art .dots {
    clip-path: polygon(90% 90%, 90% 0, 100% 0, 100% 100%, 0 100%, 0 90%);
    background-image: url(/assets/icons/dot-art.svg);
    width: 250px;
    height: 250px;
    position: absolute;
    bottom: -24px;
    left: 340px
}

.popup {
    transform-origin: 50%;
    z-index: 100;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: all .2s;
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    overflow: auto
}

.popup:not(.active) {
    pointer-events: none;
    touch-action: none;
    transform: scale(0)
}

.popup .backdrop {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    content: "";
    cursor: pointer;
    z-index: -1;
    background: #0006;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.popup .container {
    justify-content: center;
    height: 100%;
    overflow: auto
}

.popup .box,
.popup .container {
    flex-wrap: wrap;
    width: 100%;
    padding: 60px;
    display: flex
}

.popup .box {
    z-index: 1;
    background: #fff 100% 100%/contain no-repeat;
    max-width: 1200px;
    position: relative
}

.popup .popup-toggle {
    background: 0 0;
    flex-wrap: wrap;
    place-content: center;
    place-items: center;
    display: flex;
    position: absolute;
    top: 20px;
    right: 20px
}

.popup .title {
    color: #000;
    text-transform: uppercase;
    width: 100%;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%
}

.popup .title:not(:first-child) {
    margin-top: 40px
}

.popup .help {
    color: #6e6e6e;
    width: 100%;
    margin-top: 20px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%
}

.popup .groups {
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr;
    gap: 40px 60px;
    width: 100%;
    margin-top: 40px;
    display: grid
}

.popup .input-field {
    flex-wrap: wrap;
    width: 100%;
    display: flex
}

.popup .input-field label {
    color: #6e6e6e;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

.popup .input-field input {
    height: 57px;
    padding: 0 20px
}

.popup .input-field input,
.popup .input-field textarea {
    box-sizing: border-box;
    color: #000;
    text-transform: uppercase;
    border: 1px solid #6e6e6e;
    width: 100%;
    margin-top: 12px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

.popup .input-field textarea {
    resize: vertical;
    height: 228px;
    min-height: 228px;
    padding: 20px
}

.popup .select-field {
    flex-wrap: wrap;
    width: 100%;
    display: flex
}

.popup .select-field label {
    color: #6e6e6e;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

.popup .select-field .select-container {
    box-sizing: border-box;
    cursor: pointer;
    border: 1px solid #6e6e6e;
    width: 100%;
    height: 57px;
    margin-top: 12px;
    position: relative
}

.popup .select-field .select-container:after {
    content: "";
    pointer-events: none;
    touch-action: none;
    background: url(/assets/icons/arrow.svg) 50% no-repeat;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 18px;
    right: 20px
}

.popup .select-field select {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    color: #000;
    cursor: pointer;
    text-transform: uppercase;
    width: 100%;
    height: 100%;
    padding: 20px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

.popup .select-field select::-ms-expand {
    display: none
}

.popup .select-field select option {
    font-size: 20px
}

.popup .select-field select option:hover {
    box-shadow: inset 0 0 10px 100px #1882a8
}

.popup .checkbox-field {
    flex-wrap: wrap;
    gap: 24px 60px;
    width: 100%;
    display: flex
}

.popup .checkbox-field>label {
    color: #6e6e6e;
    width: 100%;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

.popup .checkbox-field .list {
    flex-wrap: wrap;
    gap: 60px;
    width: 100%;
    display: flex
}

.popup .checkbox-field .checkbox {
    cursor: pointer;
    flex-wrap: wrap;
    place-items: center;
    display: flex
}

.popup .checkbox-field .checkbox:has(>input:checked) .checkbox-custom:after {
    opacity: 1
}

.popup .checkbox-field .checkbox:has(>input:checked) .checkbox-custom:before {
    opacity: 1
}

.popup .checkbox-field .checkbox input {
    pointer-events: none;
    touch-action: none;
    width: 0;
    height: 0
}

.popup .checkbox-field .checkbox .checkbox-custom {
    box-sizing: border-box;
    border: 1px solid #6e6e6e;
    width: 34px;
    height: 34px;
    margin-right: 15px;
    position: relative
}

.popup .checkbox-field .checkbox .checkbox-custom:after {
    content: "";
    opacity: 0;
    z-index: 1;
    background: #f0c631;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 3px;
    left: 3px
}

.popup .checkbox-field .checkbox .checkbox-custom:before {
    content: "";
    opacity: 0;
    z-index: 2;
    background: url(/assets/icons/check.svg);
    width: 20px;
    height: 20px;
    position: absolute;
    top: 6px;
    left: 6px
}

.popup .checkbox-field .checkbox .checkbox-text {
    color: #000;
    text-transform: uppercase;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%
}

.popup .checkbox-field .checkbox .checkbox-text.terms {
    color: #6e6e6e;
    text-transform: none
}

.popup .checkbox-field .checkbox .checkbox-text.terms a {
    color: #f0c631
}

.popup .range2-field {
    flex-wrap: wrap;
    width: 100%;
    display: flex
}

.popup .range2-field>label {
    color: #6e6e6e;
    width: 100%;
    margin-bottom: 32px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%
}

.popup .range2-field .list-tooltip {
    color: #000;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 16px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
    display: flex
}

.popup .range2-field input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    pointer-events: none;
    background: linear-gradient(#f0c631, #f0c631) 50%/100% 2px no-repeat;
    border: 0;
    border-radius: 1px;
    outline: none;
    width: 100%;
    margin: 0;
    overflow: hidden
}

.popup .range2-field input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    pointer-events: all;
    background-color: #f0c631;
    border: 2px solid #000;
    width: 20px;
    height: 20px;
    position: relative
}

.popup .range2-field .multi-range {
    width: 100%;
    height: 20px;
    position: relative
}

.popup .range2-field .multi-range input[type=range] {
    position: absolute
}

.popup .range2-field .multi-range input[type=range]:first-child::-webkit-slider-thumb:before {
    background-color: red
}

.popup .range2-field .multi-range input[type=range]:nth-child(2) {
    background: 0 0
}

.popup .range2-field .multi-range input[type=range]:nth-child(2)::-webkit-slider-thumb:before {
    background-color: gray
}

.popup .btn {
    color: #000;
    text-align: center;
    text-transform: uppercase;
    background: #f0c631;
    margin-top: 40px;
    padding: 19px 54px;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    display: inline-block
}

.popup .btn:hover {
    opacity: .9
}

.popup .col-2x2 {
    grid-column: span 2/span 2
}

@media (min-width:996px) {
    .container {
        width: 720px
    }
}

@media (min-width:1200px) {
    .container {
        width: 1200px
    }
}

@media (max-width:1200px) {
    section[data-name=utp] .title {
        font-size: 48px
    }

    section[data-name=utp] .desc {
        font-size: 18px
    }

    section[data-name=utp] .list {
        grid-template-columns: 1fr
    }

    section[data-name=about] {
        margin-top: 80px
    }

    section[data-name=about] .title {
        font-size: 20px
    }

    section[data-name=about] .desc {
        margin-top: 20px
    }

    section[data-name=about] .art {
        display: none
    }

    section[data-name=vantage] {
        margin-top: 30px
    }

    section[data-name=vantage] .container {
        grid-template-columns: 1fr
    }

    section[data-name=vantage] .item {
        padding: 20px 10px 20px 20px
    }

    section[data-name=vantage] .item .icon {
        width: 100px;
        height: 100px
    }

    section[data-name=vantage] .item .text {
        margin-top: 95px;
        font-size: 20px
    }

    section[data-name=works] {
        margin-top: 80px
    }

    section[data-name=works] .head .title {
        font-size: 20px
    }

    section[data-name=works] .head .desc {
        margin-top: 20px;
        font-size: 18px
    }

    section[data-name=works] .head .note {
        width: 100%;
        margin-top: 30px;
        padding: 20px 0 20px 24px;
        font-size: 18px;
        font-weight: 500;
        position: relative;
        top: 0;
        right: 0
    }

    section[data-name=works] .list {
        grid-template-columns: inherit;
        gap: 30px;
        margin-top: 30px;
        display: flex
    }

    section[data-name=works] .list:after {
        display: none
    }

    section[data-name=works] .item {
        gap: 20px
    }

    section[data-name=works] .item .image {
        height: 296px
    }

    section[data-name=works] .item .info {
        flex-wrap: wrap;
        gap: 20px;
        width: 100%;
        display: flex
    }

    section[data-name=works] .item .title {
        white-space: nowrap;
        font-size: 20px
    }

    section[data-name=works] .item .text {
        font-size: 18px
    }

    section[data-name=works] .item .btn {
        width: 100%
    }

    section[data-name=works] .item:nth-child(2n) {
        flex-wrap: wrap
    }

    section[data-name=price] {
        margin-top: 80px
    }

    section[data-name=price] .head .title {
        font-size: 20px
    }

    section[data-name=price] .head .desc {
        margin-top: 20px;
        font-size: 18px
    }

    section[data-name=price] .head .art {
        display: none
    }

    section[data-name=price] .list {
        margin-top: 30px
    }

    section[data-name=price] .item {
        padding: 40px 20px
    }

    section[data-name=price] .item .name {
        font-size: 18px
    }

    section[data-name=price] .item .value {
        text-align: right;
        padding-left: 0;
        font-size: 18px
    }

    section[data-name=production] .title {
        font-size: 20px
    }

    section[data-name=production] .cards {
        grid-template-columns: 1fr 1fr
    }

    section[data-name=production] .card {
        height: 180px
    }

    section[data-name=production] .card .text {
        padding: 30px;
        font-size: 20px
    }

    section[data-name=about_full] {
        margin-top: 80px
    }

    section[data-name=about_full] .title {
        font-size: 20px
    }

    section[data-name=about_full] .text {
        font-size: 18px
    }

    section[data-name=about_full] .phone {
        margin-top: 20px;
        font-size: 24px
    }

    section[data-name=about_full] .btn {
        width: 100%
    }

    section[data-name=about_full] .column {
        gap: 20px;
        width: 100%;
        margin-top: 20px;
        padding-right: 0
    }

    section[data-name=about_full] .column.right {
        margin-top: 20px;
        margin-left: 0;
        padding-left: 0;
        padding-right: 0
    }

    section[data-name=about_full] .art {
        width: 100%;
        height: 180px;
        margin-top: 20px;
        margin-bottom: 20px;
        position: relative;
        top: 0
    }

    section[data-name=about_full] .art:after,
    section[data-name=about_full] .art:before {
        width: 50%;
        height: 40px
    }

    section[data-name=about_full] .art .midline {
        width: 20px;
        margin-left: -10px
    }

    section[data-name=about_full] .art .dots {
        clip-path: polygon(90% 90%, 90% 0, 100% 0, 100% 100%, 0 100%, 0 90%);
        background-image: url(/assets/icons/dot-art.svg);
        width: 80px;
        height: 80px;
        position: absolute;
        bottom: -12px;
        left: 72px
    }
}

.footerFlex {
    display: flex;
}

@media (max-width:996px) {
    .footerFlex {
        flex-direction: column;
    }

    .footerFlex > .item {
        display: block;
        margin-top: 10px;
    }

    .container {
        padding-left: 10px;
        padding-right: 10px
    }

    html {
        scroll-padding: 90px
    }

    header {
        height: 56px
    }

    header .logo,
    header .logo img {
        width: 104px;
        height: 16px
    }

    header .menu,
    header .phone {
        display: none
    }

    header .menu-toggle {
        background: 0 0;
        width: 20px;
        height: 20px;
        display: flex
    }

    footer {
        margin-top: 30px
    }

    footer .banner {
        padding: 20px 0
    }

    footer .banner .phone,
    footer .banner .title {
        text-align: center;
        width: 100%;
        font-size: 24px
    }

    footer .banner .phone {
        margin-top: 12px
    }

    footer .information {
        padding: 40px 0 48px
    }

    footer .contact .logo,
    footer .contact .logo img {
        width: 104px;
        height: 16px
    }

    footer .contact .links {
        gap: 26px;
        width: 100%;
        padding-right: 0
    }

    footer .contact .links .item {
        width: 100%
    }

    footer .line {
        margin-top: 46px
    }

    footer .copyright {
        margin-top: 16px
    }

    section[data-name=utp] {
        min-height: 100svh;
        padding-top: 135px;
        padding-bottom: 40px
    }

    section[data-name=utp] .title {
        padding-right: 16px;
        font-size: 32px
    }

    section[data-name=utp] .desc {
        width: calc(100% + 5px);
        margin-top: 30px;
        font-size: 18px
    }

    section[data-name=utp] .desc br {
        display: none
    }

    section[data-name=utp] .btn {
        width: 100%;
        margin-top: 40px
    }

    section[data-name=utp].utp-v2 .title {
        padding-right: 24px
    }

    section[data-name=utp].utp-v2 .desc {
        margin-top: 30px
    }

    section[data-name=production] .cards {
        grid-template-columns: 1fr;
        margin-top: 30px
    }
}

