body {
  padding-inline: 80px;
}

header {
  display: flex;
  padding: 20px;
  justify-content: space-between;
  align-items: center;

  img {
    width: 200px;
    height: auto;
  }

  nav {
    display: flex;
    gap: 65px;

    a {
      color: white;
      text-decoration: none;
      padding: 10px 15px;
      border-radius: 10px;
      transition: background-color 0.4s ease;

      &:hover {
        background-color: rgba(255, 255, 255, 0.1);
      }
    }
  }
}

main {
  #hero {
    padding-bottom: 70px;

    .container {
      position: relative;

      video {
        width: 100%;
        height: max(90svh, 700px);
        border-radius: 40px;
        opacity: 0.3;
        object-fit: cover;
      }

      .ui {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 160px 80px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;

        h1 {
          font-size: 80px;
        }

        p {
          width: max(50%, 600px);
          font-size: 20px;
          line-height: 1.5;
        }
      }

      .buttons {
        display: flex;
        gap: 15px;
        flex-direction: column;

        .button {
          height: 60px;
          width: 300px;
          border-radius: 50px;
          font-size: 22px;
          color: white;
          backdrop-filter: blur(10px);
          box-shadow:
            inset 0 2px 4px 0 rgba(255, 255, 255, 0.4),
            inset 0 -2px 4px 0 rgba(0, 0, 0, 0.2);
          background: rgba(0, 0, 0, 0.35);
          transition:
            background 0.4s ease,
            box-shadow 0.4s ease,
            width 0.4s ease;
          text-decoration: none;
          display: flex;
          align-items: center;
          justify-content: center;

          &:hover {
            background: rgba(0, 0, 0, 0.5);
            box-shadow:
              inset 0 2px 4px 0 rgba(255, 255, 255, 0.6),
              inset 0 -2px 4px 0 rgba(0, 0, 0, 0.3);
            width: 360px;
          }
        }
      }
    }
  }

  #about-us {
    display: flex;
    flex-direction: column;
    padding-block: 70px;
    gap: 40px;

    h2 {
      font-size: 60px;
    }

    p {
      max-width: 50%;
      line-height: 1.5;
      font-size: 24px;
    }
  }

  #how-it-works {
    padding-block: 70px;
    display: flex;
    flex-direction: column;
    gap: 40px;

    h2 {
      font-size: 60px;
    }

    .content {
      display: flex;
      justify-content: space-between;
      gap: 80px;

      .left {
        width: 50%;
        display: flex;
        align-items: center;

        .img {
          height: 100%;
          width: 100%;
          background-color: gray;
          border-radius: 50px;
        }
      }

      .right {
        width: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 50px;

        .item {
          display: flex;
          gap: 20px;
          align-items: center;

          .circle {
            border-radius: 50%;
            height: 50px;
            width: 50px;
            min-width: 50px;
            background-color: #6db573;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 26px;
            color: black;
          }

          .text {
            display: flex;
            gap: 10px;
            flex-direction: column;
            flex: 1;

            h3 {
              text-align: center;
              font-size: 32px;
            }

            p {
              color: rgba(255, 255, 255, 0.482);
              text-align: center;
              font-size: 24px;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 1200px) {
  header {
    nav {
      gap: 20px;
    }
  }

  main {
    #hero {
      .container {
        .ui {
          padding: 100px 50px;

          h1 {
            font-size: 64px;
          }
        }
      }
    }

    #how-it-works {
      .content {
        gap: 60px;

        .right {
          gap: 30px;

          .item .text {
            h3 {
              font-size: 24px;
            }

            p {
              font-size: 18px;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 950px) {
  header {
    nav {
      gap: 0;
    }
  }

  main {
    #hero {
      .container {
        video {
          height: max(90svh, 500px);
        }

        .ui {
          padding: 80px 40px;

          h1 {
            font-size: 48px;
          }

          p {
            width: 80%;
          }

          .buttons .button:hover {
            width: 300px;
          }
        }
      }
    }

    #how-it-works {
      .content {
        gap: 40px;

        .right {
          gap: 16px;

          .item .text {
            h3 {
              font-size: 24px;
            }

            p {
              font-size: 18px;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 800px) {
  body {
    padding-inline: 30px;
  }

  header {
    img {
      width: 140px;
    }

    nav {
      a {
        font-size: 18px;
        padding: 8px 12px;
      }
    }
  }

  main {
    #hero {
      padding-bottom: 40px;

      .container {
        .ui {
          align-items: center;
        }
      }
    }

    #about-us {
      padding-block: 40px;

      h2 {
        font-size: 48px;
      }

      p {
        font-size: 18px;
        margin-inline: auto;
      }
    }

    #how-it-works {
      padding-block: 40px;

      h2 {
        font-size: 48px;
      }

      .content {
        flex-direction: column;

        .left {
          width: 100%;

          .img {
            height: 400px;
          }
        }

        .right {
          gap: 10px;
          width: 100%;

          .item {
            .circle {
              height: 40px;
              width: 40px;
              min-width: 40px;
              font-size: 20px;
            }

            .text {
              h3 {
                font-size: 20px;
              }

              p {
                font-size: 16px;
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 600px) {
  header {
    nav {
      display: none;
    }
  }

  main {
    #hero {
      .container {
        .ui {
          h1 {
            font-size: 40px;
          }

          p {
            font-size: 18px;
          }
          .buttons {
            .button {
              width: 250px;
              height: 50px;
              font-size: 18px;

              &:hover {
                width: 250px;
              }
            }
          }
        }
      }
    }

    #about-us {
      h2 {
        font-size: 40px;
      }

      p {
        max-width: 80%;
      }
    }

    #how-it-works {
      h2 {
        font-size: 40px;
      }
    }
  }
}

@media (max-width: 450px) {
  main {
    #hero {
      .container {
        .ui {
          h1 {
            font-size: 32px;
          }

          p {
            font-size: 16px;
            width: 100%;
          }
        }
      }

      #about-us {
        p {
          max-width: 80%;
        }
      }
    }
  }
}
