@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
  margin: unset;
  padding: unset;
  font-family: "Poppins", sans-serif;
}

body {
  padding-bottom: 50px;
}

nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 30px;
  box-shadow: 1px 1px 12px 1px #00326c6b;
}

nav img {
  width: 180px;
}

nav button {
  background-color: #00326C;
  color: white;
  border: unset;
  border-radius: 50px;
  width: 180px;
  padding: 10px;
  font-size: 16px;
  font-weight: 300;
}

header {
  display: flex;
  align-items: center;
  gap: 120px;
  padding-top: 100px;
  padding-bottom: 50px;
}

.container {
  max-width: 1480px;
  margin: auto;
}

header h2 {
  color: #235BB3;
  font-weight: 300;
  font-size: 52px;
}

header p {
  color: #235BB3;
  font-size: 18px;
  margin-top: 20px;
}

header .header-col {
  display: flex;
  flex-direction: column;
}

header h2 {
  line-height: 48px;
}

.banner {
  background-color: #003E86;
  color: white;
  padding: 20px;
}

.banner p {
  font-weight: 300;
}

.banner button {
  border-radius: 50px;
  font-weight: 300;
  padding: 10px;
  width: 160px;
  background-color: #00326C;
  border: unset;
  color: white;
  font-size: 16px;
}

.banner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: auto;
}

.what-makes-different {
  background-color: #235BB3;
  padding: 50px 0;
}

.what-makes-different .container {
  display: flex;
  align-items: center;
}

.what-makes-different .container .col {
  flex: 1;
}

.what-makes-different h3 {
  color: white;
  font-weight: 300;
  font-size: 46px;
}

.what-makes-different h2 {
  color: white;
  font-weight: 600;
  font-size: 90px;
  line-height: 75px;
}

.robot {
  display: flex;
  align-items: center;
}

.steps {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.steps .step {
  display: flex;
  align-items: center;
  gap: 50px;
  border: 2px solid #00326C;
  padding: 6px;
  border-radius: 15px;
  max-width: 500px;
}

.steps .step p {
  color: white;
  font-size: 28px;
}

.steps .step .count {
  color: white;
  background-color: #003E86;
  width: 65px;
  height: 65px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 35px;
  font-weight: 600;
  border-radius: 18px;
}

.built-for-the-future {
  padding: 50px 0;
}

.built-for-the-future .info h3, .built-for-the-future .info h2 {
  color: #235BB3;
  font-weight: 400;
  font-size: 32px;
}

.built-for-the-future .info h3 {
  margin-left: 80px;
}

.built-for-the-future .info h2 {
  font-size: 86px;
  line-height: 80px;
}

.built-for-the-future .info {
  margin-left: 50px;
  display: flex;
  flex-direction: column;
}

.reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 30px;
}

.reviews .review {
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.192);
  padding: 15px 25px;
  border-radius: 25px;
  height: 350px;
}

.reviews .review h3 {
  color: #287FFA;
  font-size: 31px;
}

.reviews .review h4 {
  color: #287FFA;
  font-size: 24px;
  font-weight: 300;
  line-height: 16px;
}

.reviews .review p {
  margin: 40px;
  margin-top: 80px;
  text-align: center;
  color: #287FFA;
  font-size: 22px;
}

.review .place-review {
  border: 2px solid #287FFA;
  border-style: dashed;
  border-radius: 42px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.review .place-review p {
  line-height: 35px;
  font-size: 35px;
}

.review .place-review button {
  border-radius: 50px;
  font-weight: 300;
  padding: 10px;
  width: 160px;
  background-color: #00326C;
  border: unset;
  color: white;
  font-size: 16px;
}

.contact {
  display: flex;
  align-items: center;
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.192);
  margin: 0 90px;
  border-radius: 30px;
  padding: 20px 35px;
  gap: 80px;
}

.contact h3 {
  font-size: 36px;
  color: #287FFA;
  font-weight: 400;
  margin-left: 20px;
}

.contact h2 {
  font-size: 64px;
  color: #287FFA;
  font-weight: 700;
  line-height: 40px;
}

.contact p {
  color: #287FFA;
  margin-top: 20px;
  font-size: 18px;
}

.contact .image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 35px;
}

.contact .image img {
  width: 350px;
}

.contact .form {
  display: flex;
  flex-direction: column;
}

.contact .form .form-row {
  display: flex;
  gap: 30px;
}

.contact .form .form-row .form-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.contact .contat-col {
  flex: 1;
}

.contact .cf {
  flex: 1;
}

.contact-form {
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.192);
  padding: 40px 60px;
  border-radius: 25px;
}

.contact-form h2 {
  font-size: 38px;
  font-weight: 400;
}

.contact-section {
  display: flex;
}

.contact-section .form {
  flex: 1;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-form label {
  color: #287FFA;
  font-weight: 400;
}

.contact-form input {
  background-color: #F3F3F3;
  border: unset;
  border-radius: 50px;
  font-size: 16px;
  padding: 10px;
  outline: none;
}

.contact-form .image {
  width: 150px;
  margin-left: 90px;
}

.contact-form .submit {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-form .submit button {
  background-color: #00326C;
  color: white;
  padding: 15px;
  width: 180px;
  border: unset;
  border-radius: 50px;
  font-size: 16px;
  box-shadow: 0px 0px 24px 0px #00326c73;
}

@media screen and (max-width: 1490px) {
  .container {
    max-width: 1200px;
    margin: auto;
  }  

  .contact {
    gap: 20px
  }
}

@media screen and (max-width: 1364px) {
  .contact-form {
    padding: 20px;
  }

  .contact {
      flex-direction: column;
  }
}

@media screen and (max-width: 1205px) {
  .container {
    max-width: 1000px;
    margin: auto;
  }  

  .reviews .review p {
    margin: 20px;
  }

  .header-col img {
    width: 100%;
  }
}

@media screen and (max-width: 1212px) {
  .what-makes-different .container {
    flex-direction: column;
  }
}

@media screen and (max-width: 1000px) {
  .contact-form {
    box-shadow: unset;
  }

  .reviews .review p {
    font-size: 18px;
    margin: 0;
    margin-top: 30px;
  }

  .contact-form .image {
    display: none;
  }
}

@media screen and (max-width: 700px) {
  .reviews {
      grid-template-columns: repeat(1, 1fr);
  }

  .container {
    flex-direction: column;
    padding: 50px;;
  }

  .header-col img {
      width: 60%;
      margin: auto;
  }

  header {
    gap: 30px;
  }

  .banner-container {
    flex-direction: column;
    gap: 30px;
  }

  .robot {
    flex-direction: column;
  }

  .what-makes-different .container .col:first-child {
    margin-bottom: 50px;
  }

  .built-for-the-future .info h2 {
    font-size: 42px;
    line-height: 42px;
  }

  .reviews .review p {
    font-size: 32px;
  }

  .contact .form .form-row {
    display: flex;
    flex-direction: column;
  }
}

@media screen and (max-width: 454px) {
  .titles h3, .titles h2 {
    font-size: 52px;
    line-height: 52px;
  }

  .reviews .review h4 {
    line-height: 24px;
  }

  .built-for-the-future .info h2, .built-for-the-future .info h3, .contact h3 {
    font-size: 52px;
    line-height: 52px;
  }

  .steps .step p {
    font-size: 21px;
  }

  .reviews .review p {
    font-size: 20px !important;
  }

  .built-for-the-future .info h3 {
    margin-left: unset;
  }

  .built-for-the-future .info {
    margin-left: unset;
  }
  
  .contact {
    box-shadow: unset;
  }

  .contact .contact-col {
    padding: 30px;
  }

  .contact-form .submit button {
    margin-top: 40px;
  }

  nav img {
    width: 90px;
  }

  nav button {
    width: 120px;
  }

  .steps .step {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
  }
}