@charset "utf-8";

/* ------------------------------- RESET ------------------------------- */

html {margin: 0; padding: 0; height: 100%;}
body, div, span, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, a, font, small, strong, b, u, i, center, label, form, fieldset,
input, button, textarea, img, p, table, tr, th, td, dl, dt, dd {
    margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; background: transparent;
}
table {border-collapse: collapse; border-spacing: 0;}
ol, ul, li {list-style: none;}
h1, h2, h3, h4, h5, h6 {font-size: 100%; font-weight: normal;}
input, button, textarea, select, optgroup, option {
    font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;
}
input, button, textarea, select {font-size: 100%; display: block;}
input[type=text], input[type=submit], textarea{-webkit-appearance: none;}
input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 50px #262A2E !important; -webkit-text-fill-color: #FFFFFF !important; color: #FFFFFF !important;
}
select {outline: 0;}
:focus {outline: none;}
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
*:before, *:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
::-moz-focus-inner {border: 0; padding: 0;}

/* ------------------------------- DEFAULT ------------------------------- */

html {-webkit-tap-highlight-color: rgba(0, 0, 0, 0); scroll-behavior: smooth;}
body {
    background: #F2F2F2; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; direction: ltr;
    color: #333333; display: block; min-width: 320px; font-size: 16px; width: 100%; position: relative; font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;
}
#main_sheet {display: flex; flex-direction: column; min-height: 100vh; height: 100%;}
div, label, p {display: block; line-height: 140%; letter-spacing: 0;}
h1, h2, h3, h4, h5, h6, p.title {line-height: 120%; letter-spacing: 0;}
img {width: 100%;}

.dn {display: none !important;}

.btn_primary {
    border-radius: 34px; background: #FFFFFF; padding: 0 16px 0 16px; transition: background .3s ease-in-out, color .3s ease-in-out, padding .3s ease-in-out; text-decoration: none;
    font-size: 16px; font-weight: 500; color: #333333; height: 48px; line-height: 48px; cursor: pointer; width: fit-content; position: relative; text-align: center;
}
.btn_primary.small {font-size: 14px; height: 38px; line-height: 38px; padding: 0 32px 0 16px;}
.btn_primary.small > img {top: 7px;}
.btn_primary.dark {background: #333333; color: #FFFFFF;}
.btn_primary.orange {background: #FA8729; color: #FFFFFF;}
.btn_primary.gray {background: #F2F2F2; color: #333333;}
.btn_primary:hover {background: #DCDAD8;}
.btn_primary.dark:hover {background: #4F4F4F;}
.btn_primary.gray:hover {background: #DCDAD8;}
.btn_primary > img {width: 24px; height: 24px; position: absolute; right: 16px; top: 12px; transition: .3s ease-in-out;}
.btn_primary:hover {background: #FFA154;}
.btn_primary.anim {padding: 0 32px 0 16px;}
.btn_primary.anim:hover {padding: 0 16px 0 16px;}
.btn_primary.anim:hover > img {opacity: 0; right: 0;}

.quote {
    border: 1px solid #D3D3D3; height: 38px; display: flex; align-items: center; width: fit-content;
    padding: 0 14px; border-radius: 34px; color: #FA8729; font-size: 14px; font-weight: 500;
}
.quote > img {width: 24px; height: 24px; margin-right: 8px;}

h2 {font-size: 60px; font-weight: 700;}
.wrap {width: 100%; padding: 0 50px; margin-left: auto; margin-right: auto; max-width: 1440px;}

@media only screen and (max-width: 1024px) {
    h2 {font-size: 32px; font-weight: 600;}
}

@media only screen and (max-width: 800px) {
    .wrap {padding: 0 16px;}
}

/* ------------------------------- PRELOADER ------------------------------- */

.preloader {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: white; display: flex; justify-content: flex-start;
    align-items: flex-end; z-index: 9999;
    transition: opacity 0.6s ease;
}
.preloader.hidden {opacity: 0; pointer-events: none;}
.preloader_percent {
    position: absolute; bottom: 20px; right: 20px; font-size: 60px; font-weight: 700;
    color: #1F1F1F; z-index: 2;
}
.preloader_fill {position: relative; height: 100%; width: 0; transition: width 0.1s linear;}
.preloader_fill::before, .preloader_fill::after {content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%;}
.preloader_fill::before {background: #FFFFFF; z-index: 4; mix-blend-mode: difference;}
.preloader_fill::after {background: #E0E0E0; z-index: 2;}

@media only screen and (max-width: 1024px) {
    .preloader_percent {right: calc(50% - 81px); top: calc(50% - 81px);}
}

/* ------------------------------- FORM ------------------------------- */

.form {display: none; background: #FFFFFF; border-radius: 24px; padding: 24px;}
.form.active {display: block;}
.form > .input_group:first-child {margin-top: 0;}
.form > .questions {margin-top: 24px; list-style: disc; padding-inline-start: 20px;}
.form > .questions > li {margin-top: 8px; list-style: disc;}
.form > .files {margin-top: 24px;}
.form > .files > .btn_primary {width: 210px;}
.form > .files > .file_inputs > input {display: none;}
.form > .files > .previews {display: flex; flex-wrap: wrap; max-width: 330px;}
.form > .files > .previews > .add {
    cursor: pointer; display: flex; align-items: center; -webkit-justify-content: center; background: #F2F2F2;
}
.form > .files > .previews > .add > img {width: 32px; height: 32px;}
.form > .files > .previews > .add::before {display: none;}
.form > .files > .previews > div {
    width: 104px; height: 104px; margin-right: 8px; position: relative;
    border-radius: 24px; overflow: hidden; margin-bottom: 8px;
}
.form > .files > .previews > div > img {width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;}
.form > .files > .previews > div > img:nth-of-type(2) {
    position: absolute; width: 100%; height: 100%; opacity: 0; visibility: hidden;
    left: 0; top: 0; transition: .3s ease-in-out; padding: 36px;
    z-index: 2; cursor: pointer; background: #333333CC;
}
.form > .files > .previews > div:hover > img:nth-of-type(2) {opacity: 1; visibility: visible;}
.form > .files > .previews > div:nth-of-type(3n) {margin-right: 0;}
.form > .btn_primary {margin-top: 32px; width: 170px;}
.form.success {padding: 40px 24px;}
.form.success > img {width: 99px; height: 99px; margin: 0 auto; display: block;}
.form.success > .title {text-align: center; font-size: 24px; font-weight: 600; margin-top: 32px;}
.form.success > .desc {text-align: center; font-size: 14px; color: #717171; margin-top: 8px;}

@media only screen and (max-width: 1024px) {
    .form {padding: 24px 16px;}
    .form > .questions {font-size: 14px;}
    .form > .files > .previews > div {width: 90px; height: 90px;}
    .form > .files > .previews > div > img:nth-of-type(2) {padding: 29px;}
}

/* ------------------------------- INPUTS ------------------------------- */

.input_flex {display: flex;}
.input_flex > .input_group {width: 50%; margin-right: 16px;}
.input_flex > .input_group:last-of-type {margin-right: 0;}

.input_group {
    display: inline-flex; flex-wrap: wrap; position: relative; background: #FFFFFF; border: 1px solid #DCDAD8;
    width: 100%; overflow: hidden; padding: 18px 16px; margin-top: 16px; transition: all 0.3s ease-in-out;
    border-radius: 16px;
}
.input_group:hover {border: 1px solid #A1A1A1; background: #F2F2F2;}

.input_group.hidden {display: none;}
.input_group:has(input.error) {border: 1px solid #D8292C;}
.input_group:has(input.error) > label {color: #D8292C;}
.input_group > input, .input_group > textarea {
    border: 0; height: 18px; line-height: 18px; width: 100%; color: #1A1919;
    background: none; font-size: 16px; position: relative; top: 0; transition: 0.3s ease-in-out;
}
.input_group > textarea {resize: none; height: 120px;}
.input_group > label {
    color: #A1A1A1; font-size: 16px; position: absolute; top: 16px; left: 16px; pointer-events: none; transition: 0.3s ease-in-out;
}
.input_group > label > span {color: #C86666;}
.input_group.active > input, .input_group.active > textarea {top: 5px;}
.input_group.readonly > input, .input_group.readonly > textarea {top: 5px;}
.input_group.active > label, .input_group.readonly > label {top: 5px; font-size: 12px; color: #80838A;}

.input_group.active_start, .input_group.active {border: 1px solid #4F4F4F; background: #FFFFFF;}
.input_group.active_start > input, .input_group.active_start > textarea {top: 5px; transition: none;}
.input_group.active_start > label {top: 5px; font-size: 12px; color: #A1A1A1; transition: none;}
.input_group.active_full > input, .input_group.active_full > textarea {top: 5px; transition: none;}
.input_group.active_full > label {top: 5px; font-size: 12px; color: #A1A1A1; transition: none;}

.input_group_error.active {display: block; margin-top: 4px;}
.input_group_error {color: #EB3752; line-height: 20px; font-size: 12px; font-weight: normal; display: none;}

.checkbox_group {margin-top: 24px;}
.checkbox_group input {position: absolute; z-index: -1; opacity: 0;}
.checkbox_group input+label::before {
    content: ''; display: block; min-width: 20px; width: 20px; height: 20px; border: 1px solid #DCDAD8; border-radius: 6px; background-repeat: no-repeat;
    background-position: center center; background-size: 50% 50%; margin-right: 12px; cursor: pointer;
}
.checkbox_group input:checked+label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L6.5 10.5L15 1' stroke='%231A1919'/%3E%3C/svg%3E%0A");
}
.checkbox_group label {display: flex; align-items: center; font-size: 12px; line-height: 120%;}
.checkbox_group label a {color: #333333;}

@media only screen and (max-width: 1024px) {
    .input_flex {flex-direction: column;}
    .input_flex > .input_group {width: 100%; margin-right: 0; margin-top: 16px;}
    .input_flex > .input_group:last-of-type {margin-right: 0;}
}

/* ------------------------------- MODAL ------------------------------- */

#modal {
    position: fixed; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none;
    transform: scale(1.1); opacity: 0; visibility: hidden; filter: alpha(opacity=0); background: #FFFFFF; z-index: -1;
    transition: z-index .6s step-end, opacity .6s cubic-bezier(.55,0,.1,1), transform .6s cubic-bezier(.55,0,.1,1), visibility .6s cubic-bezier(.55,0,.1,1);
}
#modal.active {
    transform: scale(1); visibility: visible; opacity: 1; filter: alpha(opacity=100);
    z-index: 1000; pointer-events: auto; transition: z-index 0s, opacity .6s cubic-bezier(.55,0,.1,1), transform .6s cubic-bezier(.55,0,.1,1);
}

#modal_container {overflow-y: auto; z-index: 1001; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; text-align: left; direction: ltr; position: fixed;}
#modal_overlay {position: absolute; width: 100%; min-height: 100%; height: 100%; left: 0; top: 0; display: flex; align-items: center;}

.modal_close {
    width: 24px; height: 24px; display: flex; align-items: center; -webkit-justify-content: center;
    position: absolute; top: -40px; right: -40px; cursor: pointer; z-index: 3; transition: .3s ease-in-out;
}
.modal_close > i {color: #525866; transition: .3s ease-in-out; font-size: 24px;}
.modal_close:hover > i {color: #A0A5B3;}

#modal_content {position: relative; height: auto; margin: 55px auto 55px;}

@media only screen and (max-width: 1024px) {
    .modal_close {right: 0;}
}

/* ------------------------------- MENU ------------------------------- */

#menu {position: sticky; top: 30px; width: 100%; z-index: 10;}
#menu .menu {display: flex; align-items: center;}
#menu .menu > .logo {
    width: 90px; height: 48px; background: #FFFFFF; border-radius: 34px;
    display: flex; align-items: center; -webkit-justify-content: center;
    box-shadow: 13px 54px 40px 0 rgba(0, 0, 0, 0.05);
}
#menu .menu > .logo > img {width: 53px;}
#menu .menu > .links {
    display: flex; align-items: center; margin: 0 auto; background: #FFFFFF;
    border-radius: 34px; padding: 6px;
}
#menu .menu > .links > div {
    color: #717171; margin-right: 4px; height: 48px; line-height: 48px; padding: 0 16px;
    font-size: 14px; cursor: pointer; border-radius: 34px; transition: .3s ease-in-out;
    box-shadow: 13px 54px 40px 0 rgba(0, 0, 0, 0.05);
}
#menu .menu > .links > div:hover {color: #333333; background: #F2F2F2;}
#menu .menu > .links > div:last-child {margin-right: 0;}
#menu .menu > .links > .btn_primary {width: 190px;}
#menu .menu > .btn_primary {font-size: 14px; box-shadow: 0 23px 40px 0 rgba(0, 0, 0, 0.05);}
#menu .menu > .menu_btn {display: none;}

#mobile_menu {
    max-height: 0; opacity: 0; position: fixed; top: 46px; transition: all .6s ease-in-out; overflow: hidden;
    visibility: hidden; width: 100%; z-index: 9;
}
#mobile_menu.open {max-height: 470px; height: 470px; opacity: 1; visibility: visible; overflow: hidden;}
.mobile_menu {background: #FFFFFF; border-radius: 0 0 32px 32px; padding: 32px 16px 24px; box-shadow: 13px 54px 40px 0 rgba(0, 0, 0, 0.05);}
.mobile_menu > div {
    text-align: center; border-radius: 24px; padding: 15px; font-size: 14px; font-weight: 500; transition: .3s ease-in-out;
    margin-bottom: 4px;
}
.mobile_menu > div:hover {background: #F2F2F2;}
.mobile_menu > .btn_primary {margin: 20px auto 0; width: 190px;}

@media only screen and (max-width: 1024px) {
    #menu {top: 16px;}
    #menu .menu {background: #FFFFFF; border-radius: 32px; padding: 0 16px; box-shadow: 13px 54px 40px 0 rgba(0, 0, 0, 0.05);}
    #menu .menu > .logo {width: auto;}
    #menu .menu > .links {display: none;}
    #menu .menu > .btn_primary {display: none;}
    #menu .menu > .menu_btn {margin-left: auto; height: 36px; width: 36px; cursor: pointer; display: flex;}
    #menu .menu > .menu_btn > img {width: 36px; height: 36px; transition: opacity .6s ease-in-out;}
    #menu .menu > .menu_btn > img:last-of-type {max-width: 0; opacity: 0;}
    #menu.open .menu {box-shadow: none;}
    #menu.open .menu > .menu_btn > img:first-of-type {max-width: 0; opacity: 0;}
    #menu.open .menu > .menu_btn > img:last-of-type {max-width: 36px; opacity: 1;}
}

/* ------------------------------- MAIN ------------------------------- */

#main {margin-top: 200px;}
.main > .main_head {display: flex;}
.main > .main_head > h1 {font-size: 60px; font-weight: 700; max-width: 500px;}
.main > .main_head > div {max-width: 544px; margin-left: auto;}
.main > .main_head > div > .title {font-size: 16px; font-weight: 600;}
.main > .main_head > div > .desc {font-size: 16px; margin-top: 16px; color: #717171;}
.main > .main_head > div > .btn_primary {margin-top: 24px; width: 220px;}
.main > img {border-radius: 32px; width: 100%; margin-top: 56px;}

@media only screen and (max-width: 1024px) {
    #main {margin-top: 96px;}
    .main > .main_head {flex-direction: column;}
    .main > .main_head > h1 {font-size: 32px;}
    .main > .main_head > div {margin-left: 0;}
    .main > .main_head > div > .title {display: none;}
    .main > .main_head > div > .desc {font-size: 14px;}
    .main > img {margin-top: 48px; height: 274px; object-fit: cover;}

}

/* ------------------------------- ACHIEVEMENTS ------------------------------- */

#achievements {margin-top: 200px; overflow: hidden;}
.achievements > .quote {margin: 0 auto;}
.achievements > h2 {text-align: center; margin-top: 16px;}
.achievements > .desc {text-align: center; max-width: 420px; color: #717171; margin: 16px auto 0;}
.achievements > .items {display: flex; margin-top: 56px;}
.achievements > .items .item {min-width: 420px; width: 33.333%; margin-right: 24px; padding: 34px 24px 24px; position: relative;}
.achievements > .items .item::before {
    content: ""; position: absolute; top: 0; left: 0; z-index: -1;
    width: 100%; height: 100%; background: #F3A96A; overflow: hidden; border-radius: 32px;
    mask-image: url(/images/masks/achievement.svg); mask-repeat: no-repeat; mask-position: right top;
    mask-size: auto 100%;
}
.achievements > .items .item.projects::before {background: #F3A96A;}
.achievements > .items .item.clients::before {background: #FBC7A5;}
.achievements > .items .item.specialists::before {background: #E8DFD9;}
.achievements > .items .item > .title {font-size: 32px; font-weight: 600; height: 70px; width: calc(100% - 70px);}
.achievements > .items .item > .desc {font-size: 16px; margin-top: 50px;}
.achievements > .items .item > img {position: absolute; width: 73px; height: 73px; right: 0; top: 0;}

@media only screen and (max-width: 1024px) {
    #achievements {margin-top: 96px;}
    .achievements > .quote {margin: 0;}
    .achievements > h2 {text-align: left;}
    .achievements > .desc {text-align: left; margin: 16px 0 0;}
    .achievements > .items {flex-direction: column; margin-top: 32px;}
    .achievements > .items .item {min-width: 300px; max-width: 600px; width: 100%; margin-top: 16px; padding: 24px 16px;}
    .achievements > .items .item > .title {font-size: 24px;}
    .achievements > .items .item > .desc {font-size: 14px; margin-top: 48px; min-height: 78px;}
}

/* ------------------------------- START NOW ------------------------------- */

#start_now {
    margin-top: 200px; background: url(/images/backgrounds/start_now.jpg) right / cover no-repeat;
    min-height: 700px; height: 80vh; display: flex; align-items: center;
}
.start_now > .quote {border: 1px solid #4F4F4F;}
.start_now > h2 {margin-top: 16px; color: #FFFFFF;}
.start_now > h2 > span {color: #FA8729; display: block;}
.start_now > .desc {margin-top: 16px; color: #919191;}
.start_now > .desc > span {color: #FA8729;}
.start_now > .btn_primary {margin-top: 40px; width: 270px;}

@media only screen and (max-width: 1024px) {
    #start_now {
        margin-top: 96px; background: url(/images/backgrounds/start_now_m.jpg) top / contain no-repeat, #1F1F1F;
        min-height: 600px; height: 80vh; align-items: flex-end; padding-bottom: 57px;
    }
    .start_now > .quote {margin: 0 auto;}
    .start_now > h2 {text-align: center;}
    .start_now > .desc {text-align: center; font-size: 14px; max-width: 370px; margin: 16px auto 0;}
    .start_now > .btn_primary {margin: 32px auto 0;}
}

/* ------------------------------- SERVICES ------------------------------- */

#services {margin-top: 200px;}
.services {display: flex;}
.services > .services_head {max-width: 544px; width: 50%;}
.services > .services_head > h2 {margin-top: 16px;}
.services > .services_head > .desc {margin-top: 16px; color: #717171; font-size: 16px; padding-right: 40px;}
.services > .services_head > .btn_primary {display: none;}
.services > .items {max-width: 666px; width: 50%; margin-left: auto;}
.services > .items > .item {background: #FFFFFF; border-radius: 24px; margin-bottom: 16px;}
.services > .items > .item > .head {display: flex; align-items: center; padding: 24px; cursor: pointer;}
.services > .items > .item > .head > img:nth-of-type(1) {width: 40px; margin-right: 12px;}
.services > .items > .item > .head > img:nth-of-type(2) {width: 32px; height: 32px; transition: .3s ease-in-out;}
.services > .items > .item.active > .head > img:nth-of-type(2) {rotate: -180deg;}
.services > .items > .item > .head > p {font-size: 24px; font-weight: 600; margin-right: auto;}
.services > .items > .item > .body {
    padding: 0 24px; overflow: hidden; opacity: 0; max-height: 0; height: 100%;
    transition: .3s ease-in-out;
}
.services > .items > .item.active > .body {opacity: 1;}
.services > .items > .item > .body > p {padding-bottom: 24px; color: #717171;}
.services > .items > .item:last-child {margin-bottom: 0;}

@media only screen and (max-width: 1024px) {
    #services {margin-top: 96px;}
    .services {flex-direction: column;}
    .services > .services_head {width: 100%;}
    .services > .services_head > .desc {padding-right: 0; font-size: 14px;}
    .services > .services_head > .btn_primary {display: block; margin-top: 24px; width: 190px;}
    .services > .items {width: 100%; max-width: 100%; margin-left: 0; margin-top: 48px;}
    .services > .items > .item > .head {padding: 14px 16px;}
    .services > .items > .item > .head > p {font-size: 16px;}
    .services > .items > .item > .head > img:nth-of-type(1) {width: 32px;}
    .services > .items > .item > .body {padding: 0 16px;}
    .services > .items > .item > .body > p {font-size: 14px; padding-top: 10px;}
}

/* ------------------------------- ABOUT ------------------------------- */

#about {margin-top: 200px; background: #1F1F1F; overflow: hidden; min-height: 800px; height: 80vh;}
#about > .wrap {height: 100%;}
.about {position: relative; height: 100%;}
.about > img {position: relative; top: 72px; max-height: 700px;}
.about > .info {position: absolute; bottom: 74px; width: 100%; left: 0;}
.about > .info > .quote {margin: 0 auto; border: 1px solid #4F4F4F;}
.about > .info > h2 {text-align: center; margin-top: 16px; color: #FFFFFF;}
.about > .info > .desc {text-align: center; color: #919191; max-width: 680px; margin: 16px auto 0;}

@media only screen and (max-width: 1024px) {
    #about {margin-top: 96px; min-height: 600px;}
    .about > .info > .desc {font-size: 14px;}
}

/* ------------------------------- CASES ------------------------------- */

#cases {margin-top: 200px;}
.cases > .info {position: sticky; top: calc(100vh - 944px); margin-bottom: 716px;}
.cases > .info > .quote {margin: 0 auto;}
.cases > .info > h2 {margin-top: 16px; text-align: center;}
.cases > .info > .desc {max-width: 544px; margin: 16px auto 0; color: #717171; text-align: center;}
.cases > .items {margin-top: -660px;}
.cases > .items .item {
    display: flex; align-items: center; background: #FFFFFF; border-radius: 32px; padding: 32px; margin-top: 40px; z-index: 2;
    width: 100%; position: sticky; top: calc(100vh - 700px); height: 660px; box-shadow: 0 -52px 40px 0 rgba(0, 0, 0, 0.05); transition: box-shadow .3s ease-in-out;
}
.cases > .items > .item.is-inview:nth-child(1):has(~.item:nth-child(2).is-inview) {box-shadow: none;}
.cases > .items > .item.is-inview:nth-child(2):has(~.item:nth-child(3).is-inview) {box-shadow: none;}
.cases > .items > .item.is-inview:nth-child(3):has(~.item:nth-child(4).is-inview) {box-shadow: none;}
.cases > .items > .item.is-inview:nth-child(4):has(~.item:nth-child(5).is-inview) {box-shadow: none;}
.cases > .items > .item.is-inview:nth-child(5):has(~.item:nth-child(6).is-inview) {box-shadow: none;}
.cases > .items .item > .info {width: 30%; margin-right: 32px;}
.cases > .items .item > .info > .title {font-size: 24px; font-weight: 600; margin-top: 16px;}
.cases > .items .item > .info > .desc {color: #717171; margin-top: 16px;}
.cases > .items .item > img {width: 70%; border-radius: 32px;}

@media only screen and (max-width: 1024px) {
    #cases {margin-top: 96px; overflow: hidden;}
    .cases > .info {margin-bottom: 56px;}
    .cases > .info > .desc {font-size: 14px;}
    .cases > .items {margin-top: 48px;}
    .cases > .items .item {
        padding: 0; border-radius: 32px; overflow: hidden; flex-direction: column-reverse; -webkit-justify-content: flex-end;
        position: relative; top: 0; height: 540px; box-shadow: none; margin-right: calc(50px + max(0px, 100vw - 1440px)); margin-top: 0;
    }
    .cases > .items .item > img {width: 100%; border-radius: 0;}
    .cases > .items .item > .info {width: 100%; padding: 24px 16px; margin-right: 0;}
    .cases > .items .item > .info > .quote {font-size: 12px; height: 28px; line-height: 28px; padding: 0 10px;}
    .cases > .items .item > .info > .quote > img {display: none;}
    .cases > .items .item > .info > .title {font-size: 16px;}
    .cases > .items .item > .info > .desc {font-size: 14px;}
}

/* ------------------------------- REVIEWS ------------------------------- */

#reviews {margin-top: 200px; background: #1F1F1F; padding: 72px 0;}
.reviews > .items {display: flex; flex-wrap: wrap;}
.reviews > .items > .item {
    border: 1px solid #333333; position: relative; overflow: hidden; display: flex; flex-direction: column;
    width: calc(33.333% - 16px); margin-right: 24px; margin-bottom: 24px; border-radius: 32px; padding: 24px;
}
.reviews > .items > .item::before {
    content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
    background: url(/images/backgrounds/review.png) center / cover no-repeat;
    filter: blur(100px);
}
.reviews > .items > .item:nth-child(3n) {margin-right: 0;}
.reviews > .items > .item > p {color: #FFFFFF; z-index: 2; position: relative;}
.reviews > .items > .item > .author {
    display: flex; align-items: center; margin-top: auto; padding-top: 16px;
    position: relative; z-index: 2;
}
.reviews > .items > .item > .author > .avatar {
    width: 40px; height: 40px; border-radius: 50%; background: #717171;
    margin-right: 12px; min-width: 40px;
}
.reviews > .items > .item > .author > .avatar > img {width: 100%; height: 100%; object-fit: cover;}
.reviews > .items > .item > .author > .info > .name {font-size: 14px; color: #FFFFFF;}
.reviews > .items > .item > .author > .info > .desc {font-size: 12px; color: #919191; margin-top: 6px;}
.reviews > .quote {margin: 0 auto; border: 1px solid #4F4F4F;}
.reviews > h2 {text-align: center; margin-top: 16px; color: #FFFFFF;}
.reviews > .desc {text-align: center; margin: 16px auto 0; color: #919191; max-width: 680px;}

@media only screen and (max-width: 1024px) {
    #reviews {margin-top: 96px; padding: 45px 0;}
    .reviews {flex-direction: column; display: flex;}
    .reviews > .quote {order: 1;}
    .reviews > h2 {order: 2;}
    .reviews > .desc {order: 3; font-size: 14px; max-width: 400px;}
    .reviews > .items {order: 4; margin-top: 48px;}
    .reviews > .items > .item {padding: 16px; border-radius: 24px; width: calc(50% - 8px); margin-right: 16px; margin-bottom: 16px;}
    .reviews > .items > .item:nth-child(3n) {margin-right: 16px;}
    .reviews > .items > .item:nth-child(2n) {margin-right: 0;}
    .reviews > .items > .item > p {font-size: 14px;}
}

@media only screen and (max-width: 600px) {
    .reviews > .items > .item {width: 100%; margin-right: 0;}
    .reviews > .items > .item:nth-child(3n) {margin-right: 0;}
    .reviews > .items > .item:nth-child(2n) {margin-right: 0;}
}

/* ------------------------------- REQUEST ------------------------------- */

#request {margin-top: 200px;}
.request {display: flex;}
.request > div:nth-child(1) {max-width: 560px; width: 50%; margin-right: 40px;}
.request > div:nth-child(1) > h2 {margin-top: 16px;}
.request > div:nth-child(1) > .desc {margin-top: 16px; color: #717171;}
.request > div:nth-child(2) {max-width: 660px; width: 50%; margin-left: auto;}

@media only screen and (max-width: 1024px) {
    #request {margin-top: 96px;}
    .request {flex-direction: column;}
    .request > div:nth-child(1) {width: 100%; margin: 0 auto;}
    .request > div:nth-child(1) > .quote {margin: 0 auto;}
    .request > div:nth-child(1) > h2 {text-align: center;}
    .request > div:nth-child(1) > .desc {text-align: center; font-size: 14px;}
    .request > div:nth-child(2) {width: 100%; margin: 48px auto 0;}
}

/* ------------------------------- REQUEST ------------------------------- */

#footer {margin-top: 200px; background: #1F1F1F; padding: 50px 0;}
.footer {display: flex;}
.footer > .logo {
    width: 90px; height: 48px; background: #FFFFFF; border-radius: 34px;
    display: flex; align-items: center; -webkit-justify-content: center;
    margin-right: 40px;
}
.footer > .logo > img {width: 53px;}
.footer > .sections {margin-top: 14px; margin-left: auto; width: calc((100% - 210px) / 2);}
.footer > .sections > .title {color: #FFFFFF; font-weight: 600;}
.footer > .sections > .items {display: flex; flex-wrap: wrap; margin-top: 22px;}
.footer > .sections > .items > div {color: #919191; width: 33.33%; margin-bottom: 12px;}
.footer > .sections > .items > div > p {display: inline-block; cursor: pointer;}
.footer > .contacts {margin-top: 14px; margin-left: auto; width: 150px;}
.footer > .contacts > .title {color: #FFFFFF; font-weight: 600;}
.footer > .contacts > .items {display: flex; flex-wrap: wrap; margin-top: 22px;}
.footer > .contacts > .items > a {color: #919191; width: 100%; margin-bottom: 12px; text-decoration: none; font-size: 16px;}
.footer > img {margin-top: 14px; width: 48px; height: 48px; margin-left: auto; cursor: pointer; rotate: -90deg;}

.sub_footer {margin-top: 50px; display: flex; align-items: center; color: #919191; padding-top: 50px; border-top: 1px solid #4F4F4F;}
.sub_footer > p {margin-right: auto;}
.sub_footer > a {margin-right: 32px; color: #919191; font-size: 16px; text-decoration: none;}
.sub_footer > a:last-of-type {margin-right: 0;}

@media only screen and (max-width: 1024px) {
    #footer {margin-top: 96px; padding: 45px 0;}
    .footer {flex-wrap: wrap;}
    .footer > .logo {order: 1;}
    .footer > img {order: 2; margin-top: 0;}
    .footer > .sections {order: 3; width: 100%; margin-top: 48px;}
    .footer > .contacts {order: 4; margin-left: 0;}
    .footer > .sections > .items > div {width: 50%;}
    .footer > .contacts {margin-top: 32px;}

    .sub_footer {flex-direction: column; align-items: flex-start; padding-top: 48px; margin-top: 48px;}
    .sub_footer > a {margin-right: 0;}
    .sub_footer > a:nth-of-type(1) {order: 1;}
    .sub_footer > a:nth-of-type(2) {order: 2; margin-top: 16px;}
    .sub_footer > p {order: 3; margin-right: 0; margin-top: 48px;}
}

/* ------------------------------- FLICKITY ------------------------------- */

.flickity-enabled {position: relative;}
.flickity-enabled:focus {outline: none;}

.flickity-viewport {position: relative; height: 100%;}
.flickity-slider {position: absolute; width: 100%; height: 100%;}

/* draggable */

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
    user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {cursor: move; width: 100%; cursor: -webkit-grab; cursor: grab;}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {cursor: -webkit-grabbing; cursor: grabbing;}

/* flickity-button */

.flickity-button {position: absolute; background: #F3F3F3; border: none;}
.flickity-button:hover {background: white; cursor: pointer;}
.flickity-button:focus {outline: none;}
.flickity-button:disabled {opacity: 0; cursor: auto; pointer-events: none;}

.flickity-button-icon {fill: currentColor; color: #333333; position: relative; top: -4px;}


/* previous/next buttons */

.flickity-prev-next-button {
    width: 32px; height: 32px; top: 50%; background: #FFFFFF; border-radius: 32px; padding: 10px;
    transition: .3s ease-in-out;
}
.flickity-prev-next-button:hover {background: #DCDAD8;}
.flickity-prev-next-button:focus {outline: none !important;}
.flickity-prev-next-button.no-svg {color: #777;}
.flickity-prev-next-button.previous {left: -50px;}
.flickity-prev-next-button.next {right: -50px;}

@media only screen and (max-width: 1500px) {
    .flickity-prev-next-button.previous {left: -40px;}
    .flickity-prev-next-button.next {right: -40px;}
}

/* page dots */

.flickity-page-dots {
    position: absolute; width: 100%; bottom: -25px; padding: 0; margin: 0; list-style: none; text-align: center; line-height: 1;
}
.flickity-rtl .flickity-page-dots {direction: rtl;}
.flickity-page-dots .dot {
    display: inline-block; width: 10px; height: 10px; margin: 0 8px; background: #333; border-radius: 50%; opacity: 0.25;
    cursor: pointer;
}
.flickity-page-dots .dot.is-selected {opacity: 1;}

/* ------------------------------- SCROLL ------------------------------- */

html.has-scroll-smooth {overflow: hidden;}
html.has-scroll-dragging {-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.has-scroll-smooth body {overflow: hidden;}
.has-scroll-smooth [data-scroll-container] {min-height: 100vh;}
[data-scroll-direction="horizontal"] [data-scroll-container] {height: 100vh; display: inline-block; white-space: nowrap;}
[data-scroll-direction="horizontal"] [data-scroll-section] {
    display: inline-block; vertical-align: top; white-space: nowrap; height: 100%;
}
.c-scrollbar {
    position: absolute; right: 0; top: 0; width: 11px; height: 100vh; transform-origin: center right;
    transition: transform 0.3s, opacity 0.3s; opacity: 0; z-index: 99999;
}
.c-scrollbar:hover {transform: scaleX(1);}
.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {opacity: 1;}
[data-scroll-direction="horizontal"] .c-scrollbar {width: 100%; height: 10px; top: auto; bottom: 0; transform: scaleY(1);}
[data-scroll-direction="horizontal"] .c-scrollbar:hover {transform: scaleY(1.3); }
.c-scrollbar_thumb {
    position: absolute; top: 0; right: 0; background-color: rgba(0, 0, 0, 0.4); width: 7px;
    border-radius: 10px; margin: 2px; cursor: grab;
}
.has-scroll-dragging .c-scrollbar_thumb {cursor: grabbing;}
[data-scroll-direction="horizontal"] .c-scrollbar_thumb {right: auto; bottom: 0;}

.anim_text {opacity: 0; transform: translateY(30px); transition: 1.2s ease-in-out;}
.is-inview {opacity: 1; transform: none;}

html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}
