@import url("https://fonts.googleapis.com/css?family=Work+Sans:100,200,300,regular,500,600,700,800,900&display=swap");

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  margin: 0;
  outline: none;
  border: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a {
  outline: none;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  display: block;
}

a,
a:visited,
a:hover {
  text-decoration: none;
}

ul,
ol,
dd {
  list-style: none;
  list-style-type: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

input::-ms-clear {
  display: none;
}

button {
  border-width: 0;
  color: inherit;
  background-color: transparent;
  cursor: pointer;
}

input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 100%;
}



img {
  display: block;
  max-width: 100%;
  border: 0;
}

@font-face {
  src: url("../fonts/DrukWideBold.woff2") format("woff2");
  src: url("../fonts/DrukWideBold.woff") format("woff");
  src: url("../fonts/DrukWideBold.ttf") format("truetype");
  font-family: "DrukWideBold";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  src: url("../fonts/Montserrat-VariableFont_wght.woff2") format("woff2");
  src: url("../fonts/Montserrat-VariableFont_wght.woff") format("woff");
  src: url("../fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

footer .copy {
  background: -webkit-gradient(linear, left top, right top, from(#d1d1d1), color-stop(46.5%, #fff), to(#d1d1d1));
  background: linear-gradient(90deg, #d1d1d1 0%, #fff 46.5%, #d1d1d1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.col-r li,
.col-r .ttl-3,
.txt,
.descr {
  text-shadow: 1px 1px 1px #230a33, 0 0 1px #230a33, 0 0 1px #230a33;
}

.ttl-1 {
  text-shadow: 2px 2px 2px #230a33, 0 0 2px #230a33, 0 0 2px #230a33;
}

.ttl-2 {
  text-shadow: 3px 3px 3px #230a33, 0 0 3px #230a33, 0 0 3px #230a33;
}

* {
  font-family: "Work Sans", system-ui;
  font-optical-sizing: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@supports (font-size-adjust: 1) {
  * {
    font-size-adjust: 0.5;
  }
}

html,
body {
  position: relative;
  min-height: 100%;
  height: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: pixelated;
}

body {
  font-size: 14px;
  position: relative;
  font-style: normal;
  line-height: normal;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  background-color: #06112d;
}

.holder {
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
}

.ttl-1 {
  font-size: 34px;
  font-weight: 800;
  margin-bottom: 24px;
  line-height: normal;
}

.ttl-2 {
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 24px;
  line-height: normal;
}

.ttl-3 {
  font-size: 16px;
  line-height: normal;
  font-weight: 600;
}

.descr {
  font-size: 16px;
  margin-bottom: 24px;
  line-height: normal;
}

.txt {
  line-height: 1.37;
}

.btn {
  color: #3dffd8;
  text-align: center;
  font-size: 24px;
  line-height: 1.1;
}

.btn {
  border-radius: 10px;
  border: 0.5px solid #fff;
  background: rgba(0, 0, 0, 0.3);
}

.btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease-in;
  padding: 12px 24px;
  justify-content: center;
}

header {
  padding-block: 18px;
  background-color: rgba(0, 0, 0, 0.7);
  position: relative;
  z-index: 5;
}

header.bg:after {
  content: "";
  /* background-color: #000; */
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  display: block;
  position: absolute;
}

header .holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}

.logo {
  position: relative;
  z-index: 5;
  max-width: 327px;
}

.logo img {
  max-width: 100%;
}

.menu .btn {
  font-size: 20px;
  line-height: 1.2;
}

.menu__button {
  display: none;
}

.menu__lines {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}

.menu__lines,
.menu__lines::after,
.menu__lines::before {
  position: absolute;
  border-radius: 3px;
  width: 22px;
  height: 2px;
  background-color: #fff;
}

.menu__lines::before {
  content: "";
  top: -5px;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}

.menu__lines::after {
  content: "";
  right: 0;
  top: 5px;
  width: 100%;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}

.menu__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.menu__nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  z-index: 1000;
}

.menu__link {
  font-size: 20px;
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}

.menu__link:focus,
.menu__link:hover,
.menu__link:active,
.menu__link_active {
  color: #3dffd8;
}

._is-open .menu__lines {
  background: transparent;
}

._is-open .menu__lines::before {
  top: 0;
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

._is-open .menu__lines::after {
  top: 0;
  width: 100%;
  -webkit-transform: rotate(-60deg);
  -ms-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.holdbg {
  background-image: url("../img/bg-1.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  height: 690px;
  position: relative;
}

.holdbg:after {
  content: "";
  height: 17px;
  width: 100%;
  background-image: url("../img/pattern.png");
  display: block;
  background-repeat: repeat-x;
  bottom: 0;
  position: absolute;
}

.hero {
  position: relative;
}

.hero .content {
  padding-block: 50px 120px;
  max-width: 670px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.hero .btn {
  margin-top: 54px;
}

.hero .btn span {
  display: block;
}

.team {
  padding-block: 0px 450px;
  position: relative;
  margin-top: 57px;
  position: relative;
}

.team:before {
  content: "";
  height: 826px;
  width: 100%;
  background-image: url("../img/bg-2.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  bottom: 0;
  position: absolute;
  z-index: -1;
}

.team:after {
  content: "";
  height: 17px;
  width: 100%;
  background-image: url("../img/pattern.png");
  display: block;
  background-repeat: repeat-x;
  bottom: -17px;
  position: absolute;
}

.team .btn {
  margin: 24px auto 0;
}

.team .ttl-2 {
  font-size: 30px;
  text-transform: uppercase;
}

.portfolio {
  padding-block: 80px;
  position: relative;
}

.portfolio:after {
  content: "";
  height: 17px;
  width: 100%;
  background-image: url("../img/pattern.png");
  display: block;
  background-repeat: repeat-x;
  bottom: -5px;
  position: absolute;
}

.portfolio .holder {
  position: relative;
}

.portfolio .btn {
  margin: 60px auto 0;
  padding: 15px 45px;
}

.portfolio .ttl-2 {
  text-transform: uppercase;
}

.portfolio p {
  line-height: 1.25;
  font-size: 16px;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 43px;
}

.col-img {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  aspect-ratio: 602/415;
  -o-object-fit: cover;
  object-fit: cover;
}

.col-img img {
  aspect-ratio: 602/415;
  -o-object-fit: cover;
  object-fit: cover;
}

.col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 24px;
}

ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  line-height: normal;
  font-size: 16px;
}

ul li:before {
  content: url("../img/marker.svg");
  width: 12px;
  height: 18px;
}

.why {
  background-image: url("../img/bg-3.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding-block: 90px;
  position: relative;
}

.why:after {
  content: "";
  height: 17px;
  width: 100%;
  background-image: url("../img/pattern.png");
  display: block;
  background-repeat: repeat-x;
  bottom: -5px;
  position: absolute;
}

.why .container {
  max-width: 1400px;
}

.row-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 60px;
}

.col-r .ttl-3 {
  margin-top: 74px;
  margin-bottom: 24px;
}

.col-r .txt {
  font-size: 16px;
}

.col-r li {
  font-size: 16px;
  margin-bottom: 12px;
}

.col-r .btn {
  margin-top: 24px;
}

.col-r .btn span {
  padding: 0 10px;
}

.dial {
  max-width: 1040px;
  margin: 26px auto 0;
}

.dial h4 {
  color: #2e4fff;
  font-size: 20px;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 1.14;
}

.dial p {
  color: #06112d;
  font-size: 14px;
}

.dial-1 {
  padding: 23px 44px 53px 37px;
  background-image: url("../img/cloud.svg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-bottom: 8px;
}

.dial-2 {
  background-image: url("../img/cloud-1.svg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 53px 26px 25px 26px;
  margin-left: auto;
}

.contact {
  padding-block: 65px 30px;
  text-align: center;
}
.contact a {
margin-bottom: 20px;
}

.contact .ttl-2 {
  text-align: center;
  text-transform: uppercase;
}

.form {
  max-width: 708px;
  margin: 36px auto;
}

.form .btn {
  margin-top: 30px;
  margin-left: auto;
  min-width: 204px;
}

.form-field {
  padding: 13.5px 24px;
  border-radius: 10px;
  border: 0.5px solid #fff;
  background: #fff;
  width: 100%;
}

.form-field input {
  width: 100%;
  height: 100%;
  color: #230a33;
  line-height: 1.625;
  font-size: 16px;
}

.form-field ::-webkit-input-placeholder {
  color: #230a33;
}

.form-field ::-moz-placeholder {
  color: #230a33;
}

.form-field :-ms-input-placeholder {
  color: #230a33;
}

.form-field ::-ms-input-placeholder {
  color: #230a33;
}

.form-field ::placeholder {
  color: #230a33;
}

.form-field textarea {
  width: 100%;
  height: 100%;
  min-height: 107px;
  resize: vertical;
}

footer {
  padding-top: 15px;
  padding-bottom: 20px;
}

footer .copy {
  padding-top: 12px;
  font-size: 16px;
}

footer .socials {
  margin-top: 50px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.socials a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50px;
  height: 50px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 49px;
  background: rgba(255, 255, 255, 0.15);
}

@media only screen and (min-width: 480px) {
  .dial-1 {
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }

  .dial-2 {
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
}

@media only screen and (min-width: 776px) {
  .contact {
    padding-block: 95px 30px;
  }

  .form .btn {
    margin-top: 24px;
    min-width: 252px;
  }

  .form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
  }
}

@media only screen and (min-width: 992px) {
  body {
    font-size: 16px;
  }

  .ttl-1 {
    font-size: 54px;
  }

  .ttl-2 {
    font-size: 44px;
  }

  .ttl-3 {
    font-size: 24px;
  }

  .descr {
    font-size: 20px;
  }

  header {
    padding-block: 14px;
  }

  .menu .socials {
    display: none;
  }

  .menu .menu__btn {
    position: relative;
    color: #3dffd8;
    border-radius: 10px;
    border: 0.5px solid #fff;
    background: rgba(0, 0, 0, 0.3);
    padding: 12px 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .hero .btn span {
    padding-inline: 35px;
  }

  .team * {
    text-align: center;
  }

  .team .ttl-2 {
    font-size: 40px;
  }

  .portfolio .ttl-2,
  .portfolio .descr {
    text-align: center;
  }

  .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 30px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 100px;
  }

  .col-img {
    width: 44%;
  }

  .col {
    width: 50%;
  }

  .why .ttl-2,
  .why .descr {
    text-align: center;
  }

  .col-r li {
    font-size: 20px;
  }

  .col-r .btn {
    margin-top: 44px;
  }

  .dial {
    padding-left: 55px;
    margin: 70px auto 0;
  }

  .dial h4 {
    font-size: 28px;
  }

  .dial p {
    font-size: 20px;
  }

  .dial-1 {
    margin-left: 55px;
  }

  footer .holder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media all and (min-width: 992px) {
  .menu__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 70px;
  }

  .hero .content {
    padding-block: 80px 94px;
  }

  .team {
    padding-block: 34px 528px;
    margin-top: 47px;
  }

  .portfolio {
    padding-block: 117px 60px;
  }

  .row:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .why {
    padding-block: 120px 70px;
  }

  .row-2 {
    margin-top: 94px;
    margin-bottom: 40px;
  }

  .col-l {
    width: 34%;
  }

  .col-r {
    width: 66%;
    padding-top: 12px;
  }

  footer {
    padding-top: 30px;
  }
}

@media only screen and (min-width: 992px) and (any-hover: hover) {
  .menu .menu__btn:hover {
    color: #06112d;
    background-color: #3dffd8;
  }
}

@media only screen and (max-width: 1376px) {
  .holder {
    padding-inline: 16px;
  }
}

@media all and (max-width: 992px) {
  body._lock {
    overflow: hidden;
  }

  .menu__button {
    position: relative;
    z-index: 5;
    display: block;
    width: 45px;
    height: 45px;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
  }

  .menu__nav {
    position: absolute;
    right: -100%;
    z-index: 4;
    width: 100%;
    height: 100vh;
    top: 0;
    gap: 90px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 130px 16px 30px;
    background: rgb(0, 0, 0);
    overflow-y: scroll;
  }

  ._is-open .menu__nav {
    right: 0;
    top: 0;
  }

  .col-l {
    max-width: 545px;
    margin: 0 auto 30px;
  }
}

@media only screen and (max-width: 992px) {
  .hero .btn {
    font-size: 18px;
  }

  .team .txt,
  .team .descr {
    text-align: justify;
  }

  .portfolio .descr {
    margin-bottom: 55px;
  }
}

@media only screen and (max-width: 776px) {
  .form-field {
    margin-bottom: 12px;
  }

  .form-row + .form-field {
    margin-top: 40px;
  }
}

@media (any-hover: hover) {
  .btn:hover {
    color: #06112d;
    background-color: #3dffd8;
  }
}