* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
  
body {
  font-family: montserrat, sans-serif;
  background-image: linear-gradient(to bottom right, var(--grigioscuro), var(--grigiochiaro));
}

.page-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;

  color: #FFF;
  font-size: 320px;
  font-weight: 900;

  animation: fadein 0.8s ease-out 1.5s forwards;
  opacity: 0;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.2;
  }
}

.content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

h2 {
  color: #FFF;
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 100px;
  position: relative;
  bottom: 50px;

  animation: slidedown 1s ease-out 0.5s forwards;
  transform: translateY(-200px);
  opacity: 0;
}

@keyframes slidedown {
  0% {
    transform: translateY(-200px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

.button {
  opacity: 0;
  display: inline-block;
  padding: 20px 40px;
  background-color: #FFF;
  color: #222;
  font-weight: 700;
  font-style: italic;
  text-decoration: none;
  border-radius: 999px;
  font-size: 28px;
  position: relative;
  top: 100px;
  animation: slideup 1s ease-out 0.5s forwards;
  transform: translateY(200px);
}

@keyframes slideup {
  0% {
    transform: translateY(200px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

.button:hover {
  box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.3);
  color: #FFF;
  background-color: #222;
  transition: 0.5s;
}


@media (max-width: 1440px){
  h1{

    font-size: 280px;
    font-weight: 800;

  }
  h2{

    font-size: 40px;
    font-weight: 600;
    bottom: 40px;

  }
  .button{

    font-size: 24px;
    font-weight: 600;
    padding: 17px 30px;
    top: 80px;

  }
}

@media (max-width: 700px){
  h1{

    font-size: 240px;

  }
  h2{

    font-size: 35px;
    bottom: 20px;
    left: 15px;

  }
  .button{

    font-size: 24px;
    top: 65px;

  }
}

@media (max-width: 500px){
  h1{

    font-size: 200px;

  }
  h2{

    font-size: 28px;
    bottom: 5px;
    left: 15px;

  }
  .button{

    font-size: 20px;
    top: 50px;


  }
}

@media (max-width: 425px){
  h1{

    font-size: 150px;

  }
  h2{

    font-size: 24px;
    bottom: -10px;
    left: 5px;

  }
  .button{

    font-size: 18px;
    top: 35px;

  }
}

@media (max-width: 320px){
  h1{

    font-size: 130px;

  }
  h2{

    font-size: 20px;
    bottom: -10px;
    left: 5px;

  }
  .button{

    font-size: 15px;
    top: 30px;

  }
}