@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");

:root {
  --black-color: #C7C7B2; 
  --white-color: #fff;
  --gold-color: #DAA520; 
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
html,
body {
  overflow-x: hidden;
  overflow-y: hidden; 
  height: 100dvh; 
  width: 100%;
}

body {
  font-family: "Oswald", sans-serif;
  background: #101010; 
  color: var(--black-color); 
  font-size: 16px;
  line-height: 1.3;
}

/* ---------------------------------------------------- */
/* CONTENEDOR INFERIOR: Casa Mortis + Biotecnología */
.bottom-branding {
    position: fixed;
    bottom: 20px; 
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center; 
    text-align: center;
}

/* CONTENIDO CENTRAL (Mel Mortis) - FIJO Y CENTRADO */
.center-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    z-index: 10;
}

/* ---------------------------------------------------- */
/* ESTILO DEL MÓDULO DE SUSCRIPCIÓN Y ÉXITO */
.subscription-module {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    z-index: 10;
    width: 90%; 
    max-width: 450px;
    text-align: center;
    line-height: 1.5;
    
    /* Oculto inicialmente por JS */
    display: none; 
    opacity: 0;
}

.subscription-module h2 {
    font-size: 30px;
    color: var(--gold-color);
    margin-bottom: 25px;
    letter-spacing: -1px;
    line-height: 1.2;
}

.subscription-module form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.subscription-module input[type="email"],
.subscription-module input[type="text"] {
    background: transparent;
    border: 1px solid var(--black-color);
    color: var(--black-color);
    padding: 12px 15px;
    font-family: "Oswald", sans-serif;
    font-size: 16px;
    text-transform: uppercase;
    outline: none;
    transition: border-color 0.3s;
}

.subscription-module input:focus {
    border-color: var(--gold-color);
}

.subscription-module button[type="submit"] {
    background: var(--gold-color);
    color: #101010; 
    border: none;
    padding: 12px 15px;
    font-family: "Oswald", sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s;
}

.subscription-module button[type="submit"]:hover {
    background: #c9961d;
}

.success-subtitle {
    font-size: 18px;
    color: var(--black-color);
    margin-top: -15px; 
}

/* ---------------------------------------------------- */
/* ALERTA DE ORIENTACIÓN (Solo para MÓVILES/TELÉFONOS) */
/* ---------------------------------------------------- */

/* Ocultar todos los elementos principales cuando esté en modo horizontal móvil */
@media screen and (max-width: 767px) and (orientation: landscape) {
    /* Oculta todos los elementos hijos directos del body que no sean la alerta */
    body > *:not(.orientation-alert) {
        display: none !important;
    }
}

/* Estilo del mensaje de alerta (Se mantiene display: none por defecto) */
.orientation-alert {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #101010; 
    color: var(--black-color);
    z-index: 99999; 
    text-align: center;
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* Mostrar la alerta solo en modo horizontal (landscape) Y en ancho de móvil */
@media screen and (max-width: 767px) and (orientation: landscape) {
    .orientation-alert {
        display: flex !important;
    }
}
/* ---------------------------------------------------- */


canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
a {
  text-decoration: none;
  color: var(--black-color);
}
ul,
ol {
  list-style: none;
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
h1 {
  font-size: 160px;
}
h2 {
  font-size: 34px;
}
button {
  outline: none;
  border: none;
  cursor: pointer;
}

/* --- TEXTO PRINCIPAL DORADO: "Casa Mortis" y "Mel Mortis" --- */
.navbar-brand { 
  font-size: 32px; 
  font-weight: 900;
  letter-spacing: -1px;
  text-transform: uppercase;
  color: var(--gold-color); 
  margin-bottom: 5px; 
}

.center-content nav ul a {
  font-size: 50px; 
  font-weight: 500;
  position: relative;
  text-transform: uppercase;
  
  color: var(--black-color); 
  border: 1px solid var(--black-color); 
  
  padding: 5px 25px;
  border-radius: 4px; 
  background-color: transparent; 
  transition: all 0.3s ease-in-out;
  line-height: 1.2;
}

.center-content nav ul a:hover,
.center-content nav ul a:focus {
  color: var(--gold-color); 
  border-color: var(--gold-color); 
  cursor: pointer;
}

.center-content nav ul a::after {
  content: none !important;
}

.main-txt {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: fit-content;
  text-transform: uppercase;
  letter-spacing: -4px;
  z-index: -1;
  transition: opacity 0.5s ease-in-out;
  color: var(--gold-color); 
  opacity: 1; 
}
.mouse-effect {
  opacity: 0;
  position: fixed;
  top: 0px;
  left: 0px;
  display: none !important; 
}

.hide-text {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.bottom-text-center {
    position: relative; 
    display: block;
    transform: none;
    left: initial;
    top: initial;
    bottom: initial;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.3;
}

.banner {
    position: fixed;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%; 
    z-index: 5; 
}

.banner-inner {
    padding: 20px; 
    height: 100%; 
    display: flex; 
    flex-direction: column;
    justify-content: space-between; 
    align-items: flex-start;
}
.banner-inner .bottom-desc {
    width: 100%; 
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 70px; 
}


/* Media Queries ajustadas */

@media (min-width: 1200px) and (max-width: 1499px) {
  h1 {
    font-size: 140px;
  }
  h2 {
    font-size: 28px;
  }
  .banner-inner .bottom-desc .right-desc .desc-inner {
    gap: 20px;
  }
  .center-content nav ul a {
      font-size: 44px;
      padding: 5px 20px;
  }
}

@media (max-width: 1199px) {
  .mouse-effect {
    display: none;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  h1 {
    font-size: 100px;
  }
  h2 {
    font-size: 24px;
  }
  body {
    font-size: 14px;
  }
  .navbar-brand {
    font-size: 28px; 
  }
  .center-content nav ul a {
      font-size: 38px;
      padding: 5px 18px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  h1 {
    font-size: 80px;
  }
  h2 {
    font-size: 20px;
  }
  body {
    font-size: 14px;
  }
  .navbar-brand {
    font-size: 24px; 
  }
  .center-content nav ul a {
      font-size: 32px;
      padding: 4px 16px;
  }
}

/* ESTILOS CLAVE PARA MÓVIL (Max-width: 767px) */
@media (max-width: 767px) {
  body {
    font-size: 14px; 
  }
  
  .main-txt {
    font-size: 80px; 
  }
  
  .center-content nav ul a {
      font-size: 24px; 
      padding: 8px 20px; 
  }
  .navbar-brand {
    font-size: 22px; 
  }

  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 18px;
  }

  .bottom-text-center {
      font-size: 12px;
  }

  .banner-inner {
    padding: 15px 20px; 
  }
  .banner-inner .bottom-desc {
      margin-bottom: 60px; 
  }
}

/* AJUSTE ADICIONAL para pantallas muy pequeñas */
@media (max-width: 480px) {
  .main-txt {
    font-size: 60px; 
  }
  .navbar-brand {
    font-size: 18px; 
  }
  .center-content nav ul a {
      font-size: 20px;
      padding: 8px 15px;
  }
  .bottom-text-center {
    font-size: 10px; 
  }
  body {
    font-size: 13px;
  }
  .banner-inner .bottom-desc {
      margin-bottom: 50px; 
  }
}