.hero{
  position:relative;
  min-height:100vh;

  background:
  linear-gradient(
  120deg,
  rgba(2,10,24,.97) 0%,
  rgba(3,14,31,.94) 35%,
  rgba(4,16,35,.92) 65%,
  rgba(5,18,38,.96) 100%
  ),

  url('../img/fondo-granada.jpg');

  background-size:cover;
  background-position:center;

  overflow:hidden;
}

.hero::before{

  content:"";

  position:absolute;
  inset:0;

  background:
  radial-gradient(circle at 80% 20%, rgba(38,119,255,.18), transparent 22%),
  radial-gradient(circle at 90% 70%, rgba(244,180,0,.12), transparent 20%);

  z-index:1;
}

.hero::after{

  content:"";

  position:absolute;

  width:1200px;
  height:500px;

  left:-10%;
  bottom:-18%;

  background:
  radial-gradient(circle, rgba(0,136,255,.28), transparent 70%);

  filter:blur(90px);

  opacity:.7;

  z-index:1;
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
}

.hero-container{

  position:relative;
  z-index:2;

  width:100%;
  max-width:1450px;

  margin:0 auto;

  padding:170px 6% 110px;

  display:grid;

  grid-template-columns:1.1fr .9fr;

  align-items:center;

  gap:40px;
}

.hero-left{
  color:white;
}

.hero-top{

  display:inline-flex;

  align-items:center;

  gap:10px;

  padding:14px 22px;

  border-radius:50px;

  background:
  rgba(255,255,255,.04);

  border:
  1px solid rgba(255,255,255,.12);

  backdrop-filter:blur(15px);

  color:white;

  font-size:14px;

  font-weight:700;

  text-transform:uppercase;

  letter-spacing:1px;

  margin-bottom:28px;
}

.hero-left h1{

  font-size:
  clamp(70px, 8vw, 130px);

  line-height:.9;

  font-weight:950;

  letter-spacing:-5px;

  margin-bottom:34px;
}

.hero-left h1 span{

  display:block;

  color:var(--dorado);

  text-shadow:
  0 0 18px rgba(244,180,0,.25);
}

.hero-description{

  max-width:760px;

  font-size:25px;

  line-height:1.7;

  color:
  rgba(255,255,255,.82);

  margin-bottom:42px;
}

.hero-buttons{

  display:flex;

  align-items:center;

  gap:20px;

  flex-wrap:wrap;
}

.btn-primary{

  background:
  linear-gradient(
  135deg,
  #ffd862,
  var(--dorado)
  );

  color:var(--azulOscuro);

  padding:22px 40px;

  border-radius:60px;

  font-weight:900;

  font-size:18px;

  box-shadow:
  0 18px 45px rgba(244,180,0,.25);

  transition:.35s;
}

.btn-primary:hover{

  transform:
  translateY(-5px);

  box-shadow:
  0 24px 60px rgba(244,180,0,.34);
}

.btn-secondary{

  padding:22px 40px;

  border-radius:60px;

  border:
  1px solid rgba(255,255,255,.14);

  color:white;

  background:
  rgba(255,255,255,.04);

  backdrop-filter:blur(10px);

  font-weight:700;

  transition:.35s;
}

.btn-secondary:hover{

  border-color:var(--dorado);

  color:var(--dorado);
}

.hero-right{

  position:relative;

  display:flex;

  justify-content:center;

  align-items:center;
}

.hero-right::before{

  content:"";

  position:absolute;

  width:520px;
  height:520px;

  border-radius:50%;

  background:
  radial-gradient(circle,
  rgba(0,132,255,.28),
  transparent 70%);

  filter:blur(40px);

  z-index:1;
}

.hero-right img{

  position:relative;

  z-index:2;

  width:100%;

  max-width:620px;

  animation:
  floatHero 6s ease-in-out infinite;

  filter:
  drop-shadow(0 30px 50px rgba(0,0,0,.55))
  drop-shadow(0 0 30px rgba(244,180,0,.15));
}

@keyframes floatHero{

  0%,100%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-14px);
  }
}

.hero-label{

  display:inline-block;

  background:rgba(244,180,0,.12);

  border:1px solid rgba(244,180,0,.18);

  color:var(--dorado);

  padding:10px 18px;

  border-radius:50px;

  font-size:13px;

  font-weight:800;

  letter-spacing:.8px;

  text-transform:uppercase;

  margin-bottom:24px;

  backdrop-filter:blur(10px);
}