te recuerdo que enviar HTML+CSS por email es muy limitado debido a que los lectores de email's no interpretan todo el repertorio de estos lenguajes, lo usual es incluir los estilos en el mismo cuerpo del HTML, de preferencia en los
atributos style de cada tag.
embeber imágenes con php mail() resulta un poco complejo, puedes conseguir código que te funcione, pero librerías como swiftmailer o phpmailer te brindan una forma rápida y sencilla de embeber imágenes y producir el
CID para colocarlas en el cuerpo del HTML y que se muestren.
he de aclararte que debido a las configuraciones de algunos (o casi todos) lectores de correo las imágenes embebidas con CID
no se muestran hasta que el usuario confirme que desea ver las imágenes en el correo,
esta característica es única y exclusiva del lector y no hay medio posible por el cual la puedas vulnerar o modificar., lo digo solo por si lo preguntas, suerte