* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', sans-serif;
  background: #2E5CFF;
  color: #FFFFFF;

  min-height: 100vh;

  display: flex;
  justify-content: center;
  align-items: center;
}

.logo {
  width: 140px;

  position: absolute;
  top: 32px;
  left: 50%;

  transform: translateX(-50%);
}

.container {
  text-align: center;
}

h1 {
  font-size: 56px;
  font-weight: 700;

  margin-bottom: 20px;
}

p {
  width: 34.375em;
  font-size: 16px;

  margin: 0 auto 32px;

  line-height: 1.5;
  font-weight: 500;
}

form {
  display: flex;
  justify-content: center;
  align-items: stretch;
}

input {
  width: 260px;
  height: 48px;

  padding: 0 14px;

  border: 1px solid #FFFFFF;
  border-right: none;

  outline: none;

  background: transparent;
  color: #FFFFFF;

  font-family: 'Inter', sans-serif;
  font-size: 14px;
}

input::placeholder {
  color: white;
}

button {
  height: 48px;

  padding: 0 22px;

  border: 1px solid #FFFFFF;

  background: #FFFFFF;
  color: #2E5CFF;

  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;

  cursor: pointer;
}

@media (max-width: 768px) {

  h1 {
    font-size: 42px;
  }

  p {
    /* Shrink font so the same 2-line block fits the viewport */
    font-size: min(16px, calc(90vw / 34.375));
  }

  input {
    width: min(260px, 52vw);
  }

  button {
    padding: 0 16px;
    white-space: nowrap;
  }

  .logo {
    width: 120px;
    top: 24px;
  }
}