*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* TIPOGRAFÍA TÍTULOS */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  overflow-x: hidden;
}

/* 3. El main crecerá para ocupar todo el espacio disponible, 
      empujando el footer hacia abajo */
main {
  flex: 1 0 auto;
   min-height: 90vh;
}

/* 4. Evitamos que el footer se encoja */
footer {
  flex-shrink: 0;
  margin-top: 2rem;
}