body{
  margin: 0;
  color: #0F3A5A;
  font-family: "Epilogue", Arial, Helvetica, sans-serif;
}

/* HERO */
.hero-section{
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  color: #ffffff;
}

/* Hace que el <picture> + <img> rellenen todo el hero */
.hero-section picture{
  position: absolute;
  inset: 0;
}

.hero-section img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Overlay (oscurece la imagen, NO tapa el texto) */
.hero-section::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

/* Texto arriba de todo */
.text-hero{
  position: absolute;
  left: 6vw;
  top: 50%;
  transform: translateY(-50%);
  max-width: 90%;
  z-index: 2;
}

h1{
  font-size: clamp(32px, 6vw, 90px);
  max-width: 800px;
  margin: 0 0 24px 0;
}

.text-hero p{
  font-size: clamp(16px, 1.2vw, 22px);
  line-height: 1.5;
  max-width: 600px;
  margin: 0 0 32px 0;
}

.btn-hero{
  display: inline-block;
  font-size: clamp(16px, 2.5vw, 28px);
  font-weight: 400;
  background-color: #0F3A5A;
  color: #fff;
  padding: 14px 28px;
  border-radius: 90px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-hero:hover{
  background-color: darkorange;
}

.enlaces a:hover{
  color: darkorange;
  transition: color 0.3s ease;
}

/* MOBILE */
@media (max-width: 768px){
  .text-hero{
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 40px;
    transform: none;
    max-width: none;
  }

  h1{
    max-width: 100%;
  }

  .text-hero p{
    font-size: 16px;
  }
}