@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.logo img {
  width: 300px;   /* make it small */
  height: auto;  /* keep aspect ratio */
}

:root{
  --font-heading:  "Outfit", sans-serif;
  --font-body:   "Roboto", sans-serif;
  --bg-color: #1d006a;
  --foreground-color: rgb(242, 241, 243);
  --primary-color: #250eef;
}

html{
  font-size: 62.2%;
}

 body{
  font-family: var(--font-body);
  background-color: var(--bg-color);
  color: #fff;
}

h1{
  font-size: 8.7rem;
  font-family: var(--font-heading);
}

h2{
  font-size: 57px;
  font-family: var(--font-heading);
  line-height: 1;
}

h3{
  font-size: 20px;
  line-height: 27.5px;
  letter-spacing: 10%;
  font-weight: 600;
  text-transform: uppercase;
  font-family: var(--font-body);
}

p{
  font-size: 18px;
  line-height: 27.5px;
  font-family: var(--font-body);
}

li{
  font-size: 20px;
  font-family: var(--font-body);
}

a{
  text-decoration: none;
  color: white;
  transition: 0.5s ease-in;

  &:hover{
    text-decoration: underline;
  }
}

.text-md{
  font-size: 16px;
  font-family: var(--font-body);
}

.text-sm{
  font-size: 14px;
  line-height: 120%;
  font-family: var(--font-body);
}

button{
  padding: 22px 32px;
  font-size: 20px;
  border-radius: 36px;
}

.solid_btn{
  background-color: var(--primary-color);
  color: white;
  border: none;
}

.outline_btn{
  background-color: transparent;
  color: white;
  border: 2px solid  var(--primary-color);
}

.black_btn{
  background-color: #2d08c4;
  color: white;
  border: none;
}

/* Nav Section */

.container{
  max-width: 1065px;
  margin: 0 auto;
  z-index: 100;
}

nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  margin-top: 64px;
  margin-bottom: 48px;
  

  ul{
    display: flex;
    list-style: none;
    gap: 76px;
    margin: 0;
    padding: 0;
  }
}

nav .fa-solid{
  display: none;
}

/* Hero Section */

.hero_section{
  display: flex;
  align-items: center;
  padding-inline: 20px;
  .content{
     h1{
      line-height: 1;
     }

     p{
      margin-top: 28px;
     }
  }

  .btn-container{
    margin-top: 3.6rem;
    display: flex;
    gap: 16px;

    button{
      width: 255px;
    }
    
  }
}

/* Brand Section */

.brand_section{
  margin-top: 16rem;
  margin-bottom: 10rem;
  .brand_logos{
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 7.6rem;
    gap: 16px;
    margin-top: 32px;
    border-radius: 8px;
    background-color: rgba(32, 5, 236, 0.895);
  }

  .brand_logos img{
    &:first-child{
      height: 100%;
    }

  }
}

/* Features Section */

.feature_section{
  display: flex;
  align-items: center;
  gap: 45px;
  margin-bottom: 64px;

  .image_container{
    flex: 1;
  }

  .content{
    flex: 1;

    h2{
      margin-top: 1.6rem;
      margin-bottom: 2rem;
    }

    button{
      margin-top: 2.4rem;
      width: 35.6rem;
      font-size: 2rem;
    }
  }
}

/* Testimonial_Section */

.testimonial_section{
  text-align: center;
  margin-top: 174px;
  h2{
    margin-top: 16px;
  }

  .testimonials{
    margin-top: 120px;
    margin-bottom: 110px;
    display: flex;
    gap: 16px;

    .card{
      max-width: 300px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-top: 95px;
      padding-bottom: 48px;
      padding-right: 28px;
      padding-left: 28px;
      position: relative;
      background: #2f06ea;
      border-radius: 28px;
      gap: 20px;
      

      p{
        line-height: 2rem;
        margin-top: -1.5rem;
      }

      .image_container{
        position: absolute;
        top: -20%;
        left: 50%;
        transform: translateX(-50%);
        width: 138px;
      }

      .image_container img{
        border-radius: 50%;
        width: 120px;
      }

      .white-dot{
        position: absolute;
        width: 25px;
        height: 25px;
        background: #fff;
        border-radius: 50%;
        top: -50px;
        left: 60%;
      }
    }
  }


}

/* Ready section */

.ready_section{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  height: 441px;
  width: 100%;
  background: linear-gradient(278.9deg, #baccf0 20.08%,#1506e2 89.36%);
  border-radius: 20px;
  h2{
    margin-top: 24px;
    margin-bottom: 48px;
  }

  button{
    max-width: 255px;
    align-self: center;
    text-transform: uppercase;
  }
}

/* Footer */

footer{
  display: flex;
  margin-top: 120px;
  margin-bottom: 48px;
  justify-content: space-between;

  .logo{
    font-weight: bold;
  }
  .links{

    h4{
      text-transform: uppercase;
    }

    ul{
      list-style: none;
      margin-top: 16px;
      display: flex;
      gap: 8px;
      flex-direction: column;

      li{
        font-size: 16px;
      }
    }
  }

  .newsletter{

    h4{
      text-transform: uppercase;
    }

    .input_container{
      margin-top: 20px;
      width: 345px;
      background: #13134d;
      position: relative;
      border-radius: 9999px;

      input{
        padding: 0 16px;
        height: 50px;
        background: #13134d;
        width: 100%;
        border: none;
        border-radius: 9999px;
      }

      button{
        position: absolute;
        right: 4px;
        width: 115px;
        border-radius: 9999px;
        padding: 0;
        margin-top: 3.5px;
        background: var(--primary-color);
        border: none;
        color: white;
        height: 44px;
        text-transform: uppercase;
        font-size: 18px;
      }


    }
  }
}

.wrapper{
  overflow: hidden;
  z-index: 10;
  position: relative;
  padding-inline: 20px;
}

.grad_bg{
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media (max-width: 1024px) {
  h1 { font-size: 5rem; }
  h2 { font-size: 3rem; }
  .logo img { width: 200px; }
}

@media (max-width: 600px) {
  h1 { font-size: 3rem; }
  h2 { font-size: 2rem; }
  .logo img { width: 120px; }
  body { padding: 10px; }
  /* Stack columns vertically, reduce padding/margins, etc. */
}