  @import url('https://fonts.googleapis.com/css2?family=Zain:ital,wght@0,200;0,300;0,400;0,700;0,800;0,900;1,300;1,400&display=swap');    
*{
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

html, body {
   height: 100%;
   overflow: hidden;
   font-family: "Zain", sans-serif;
   position: relative;
}

/* Gradientes oscuras superior e inferior */
body::before,
body::after {
   content: '';
   position: fixed;
   left: 0;
   width: 100%;
   height: 150px;
   pointer-events: none;
   z-index: 50;
}

body::before {
   top: 0;
   background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
}

body::after {
   bottom: 0;
   background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */

/* Imagen - Fade in desde izquierda */
@keyframes fadeInLeft {
   from {
      opacity: 0;
      transform: translateX(-50px);
   }
   to {
      opacity: 1;
      transform: translateX(0);
   }
}

/* Info - Fade in desde derecha */
@keyframes fadeInRight {
   from {
      opacity: 0;
      transform: translateX(50px);
   }
   to {
      opacity: 1;
      transform: translateX(0);
   }
}

/* ============================================
   HEADER Y NAVEGACIÓN - Extensiones específicas de index
   ============================================ */
header {
   background-color: transparent;
}

header h1 {
   font-size: 1.8em;
   color: #FFAB00;
   letter-spacing: 0.1em;
   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

header h1 a {
   text-decoration: none;
   color: #FFAB00;
   transition: color 0.3s ease;
}

header h1 a:hover {
   color: #fff;
}

nav a {
   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}
/* ============================================
   CONTENIDO PRINCIPAL
   ============================================ */
.cont-a {
   background-color: #161616;
   width: 100vw;
   height: 100vh;
   display: flex;
   margin-top: 0;
   position: relative;
}

.cont-a .img {
   width: 50vw;
   height: 100%;
   object-fit: cover;
   position: relative;
   top: 0;
   z-index: 0;
   animation: fadeInLeft 1s ease-in-out;
}

.cont-a .img img {
   height: 100%;
   width: 100%;
   object-fit: cover;
   position: absolute;
   top: 0;
   left: 0;
}

.cont-a .info {
   width: 50vw;
   height: 100%;
   color: aliceblue;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 55px;
   padding: 10em 0;
   z-index: 2;
   animation: fadeInRight 1s ease-in-out;
}

.cont-a .info p {
   width: 80%;
   font-size: 1.2em;
   letter-spacing: .2em;
   line-height: 1.6;
}

.cont-a .info .descripcion {
   font-style: italic;
}

.cont-a .info .frases {
   min-height: 1.5em;
   font-size: 1.2em;
   font-weight: bold;
   color: #FFAB00;
   text-align: center;
   font-style: normal;
}

.cont-a .info .btn-ra {
   border: 2px solid rgb(255, 255, 255);
   padding: 10px 30px;
   position: relative;
   overflow: hidden;
   transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
   cursor: pointer;
   border-radius: 5px;
   background: rgba(22, 22, 22, 0.7);
   backdrop-filter: blur(10px);
   white-space: nowrap;
   display: flex;
   justify-content: center;
   align-items: center;
}

.cont-a .info .btn-ra::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 0;
   height: 0;
   border-radius: 50%;
   background: rgba(255, 171, 0, 0.2);
   transform: translate(-50%, -50%);
   transition: width 0.6s ease, height 0.6s ease;
   z-index: 0;
}

.cont-a .info .btn-ra:hover {
   border-color: #FFAB00;
   transform: translateY(-2px);
   box-shadow: 0 5px 15px rgba(255, 171, 0, 0.3);
   background: rgba(22, 22, 22, 0.85);
}

.cont-a .info .btn-ra:hover::before {
   width: 300px;
   height: 300px;
}

.cont-a .info .btn-ra:hover a {
   color: #FFAB00;
   letter-spacing: 0.2em;
}

.cont-a .info .btn-ra:active {
   transform: translateY(-2px);
}

.cont-a .info .btn-ra a {
   text-decoration: none;
   color: white;
   letter-spacing: .15em;
   font-size: 1.2em;
   position: relative;
   z-index: 1;
   transition: all 0.3s ease;
   display: block;
   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}
/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Móviles muy pequeños (max-width: 374px) */
@media (max-width: 374px) {
   html, body {
      overflow: visible;
   }

   header h1 {
      font-size: 1.3em;
   }

   .cont-a {
      flex-direction: column;
      height: auto;
      min-height: 100vh;
      margin-top: 0;
   }

   .cont-a .img {
      width: 100%;
      height: 45vh;
      min-height: 280px;
   }

   .cont-a .img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   .cont-a .info {
      width: 100%;
      min-height: 55vh;
      padding: 2.5em 1.5em;
      gap: 30px;
   }

   .cont-a .info p {
      width: 95%;
      font-size: 0.85em;
      letter-spacing: 0.08em;
   }

   .cont-a .info .frases {
      font-size: 0.95em;
      line-height: 1.4;
   }

   .cont-a .info .btn-ra {
      padding: 10px 18px;
      width: auto;
      max-width: 90%;
      border-width: 1px;
   }

   .cont-a .info .btn-ra a {
      font-size: 0.85em;
      letter-spacing: 0.08em;
      white-space: normal;
      text-align: center;
      line-height: 1.3;
      display: flex;
      justify-content: center;
      align-items: center;
   }

   .cont-a .info .btn-ra:hover a {
      letter-spacing: 0.1em;
   }
}

/* Móviles (375px - 767px) */
@media (min-width: 375px) and (max-width: 767px) {
   html, body {
      overflow: visible;
   }

   header h1 {
      font-size: 1.5em;
   }

   .cont-a {
      flex-direction: column;
      height: auto;
      min-height: 100vh;
      margin-top: 0;
   }

   .cont-a .img {
      width: 100%;
      height: 50vh;
      min-height: 300px;
   }

   .cont-a .img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   .cont-a .info {
      width: 100%;
      min-height: 50vh;
      padding: 3em 2em;
      gap: 35px;
   }

   .cont-a .info p {
      width: 95%;
      font-size: 0.95em;
      letter-spacing: 0.1em;
   }

   .cont-a .info .frases {
      font-size: 1em;
   }

   .cont-a .info .btn-ra {
      padding: 12px 20px;
      width: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      max-width: 90%;
   }

   .cont-a .info .btn-ra a {
      font-size: 0.95em;
      letter-spacing: 0.1em;
      white-space: normal;
      text-align: center;
   }

   .cont-a .info .btn-ra:hover a {
      letter-spacing: 0.12em;
   }
}

/* Tablets (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
   .cont-a {
      flex-direction: column;
   }

   .cont-a .img {
      width: 100%;
      height: 50vh;
      min-height: 400px;
   }

   .cont-a .info {
      width: 100%;
      min-height: 50vh;
      padding: 4em 3em;
   }

   .cont-a .info .btn-ra {
      padding: 15px 28px;
      display: flex;
      justify-content: center;
      align-items: center;
   }

   .cont-a .info .btn-ra a {
      font-size: 1.05em;
   }
}