html {
  scroll-behavior: smooth;
}

body {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  background-color: rgb(0, 0, 0);
}

.body_fixed {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
p,
a {
  letter-spacing: -0.03em;
}

h1 {
  font-size: 80px;
  line-height: 70px;
  color: rgb(120, 90, 255);
}

h2 {
  color: rgb(255, 255, 255);
  font-size: 55px;
  line-height: 72px;
}

h3 {
  font-size: 35px;
  line-height: 46px;
}

p {
  font-size: 22px;
  line-height: 29px;
  color: rgb(255, 255, 255);
}

.container {
  max-width: 1180px;
  padding: 0 15px;
  margin: 0 auto;
}

section {
  margin-bottom: 150px;
}

.section-contacts {
  margin-bottom: 10px;
  padding-top: 103px;
  position: relative;
  width: 100%;
  height: 719px;
  border-radius: 30px;
  background: rgb(25, 28, 25);
  display: block;
}

.section-footer {
  padding-top: 76px;
  margin-bottom: 0;
  width: 100%;
  height: 231px;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  background: rgb(255, 255, 255);
}

@media (max-width: 1199px) {
  h1 {
    font-size: 60px;
    line-height: 70px;
  }

  h2 {
    font-size: 45px;
    line-height: 58px;
  }

  h3 {
    font-size: 28px;
    line-height: 36px;
  }

  p {
    font-size: 18px;
    line-height: 23px;
  }

  .container {
    width: 100%;
    padding: 0 15px;
    margin: 0;
  }

  .section-services {
    margin-bottom: 110px;
  }

  .section-contacts {
    margin-bottom: 7px;
    padding-top: 50px;
    padding-left: 38px;
    height: 484px;
    border-radius: 20.25px;
  }

  .section-footer {
    padding-top: 51px;
    padding-left: 25px;
    height: 184px;
    border-top-left-radius: 20.25px;
    border-top-right-radius: 20.25px;
  }
}

@media (max-width: 767px) {
  h1 {
    font-size: 40px;
    line-height: 47px;
  }

  h2 {
    font-size: 30px;
    line-height: 39px;
  }

  .container {
    width: 100%;
    padding: 0 12px 0 13px;
    margin: 0;
  }

  section {
    margin-bottom: 100px;
  }

  .section-services {
    margin-bottom: 150px;
  }

  .section-contacts {
    margin-bottom: 0;
    padding-left: 0;
    height: 428px;
    border-radius: 18.66px;
  }

  .section-footer {
    padding-top: 47px;
    padding-left: 0;
    height: 248px;
    border-top-left-radius: 18.66px;
    border-top-right-radius: 18.66px;
  }
}
