/* Importación de fuentes de Google Fonts para un diseño profesional */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Open+Sans:wght@400;600&display=swap');

/* Estilos Generales y Reseteo Básico */
body {
    font-family: 'Open Sans', sans-serif; /* Fuente para el cuerpo del texto */
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f4f7f6; /* Fondo suave y claro */
    color: #333;
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Alinea al inicio verticalmente */
    min-height: 100vh; /* Altura mínima para que ocupe toda la pantalla */
    padding: 20px; /* Espaciado general */
    box-sizing: border-box;
}

.container {
    width: 100%;
    max-width: 800px; /* Ancho máximo para el contenido principal */
    background-color: #ffffff; /* Fondo blanco para el contenedor principal */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); /* Sombra sutil para darle profundidad */
    border-radius: 8px;
    overflow: hidden; /* Asegura que la sombra se vea bien */
    display: flex;
    flex-direction: column;
    margin-top: 50px; /* Margen superior para centrar verticalmente si hay espacio */
    margin-bottom: 50px; /* Margen inferior */
}

/* Header */
header {
    background-color: #003366; /* Azul oscuro corporativo */
    color: #ffffff;
    padding: 20px 40px;
    text-align: center;
    border-bottom: 5px solid #0056b3; /* Línea de color de acento */
}

.logo .apleeks-logo {
    max-width: 180px; /* Ajusta el tamaño del logo */
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Contenido Principal (content-card) */
.content-card {
    padding: 40px;
    text-align: center;
}

h2 {
    font-family: 'Montserrat', sans-serif; /* Fuente para títulos */
    color: #003366;
    font-size: 2.2em;
    margin-bottom: 20px;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 15px;
}

p {
    margin-bottom: 15px;
    font-size: 1.1em;
    color: #555;
}

p strong {
    color: #cc0000; /* Color rojo para el texto de advertencia */
}

.contact-info {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 25px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.contact-info h3 {
    font-family: 'Montserrat', sans-serif;
    color: #0056b3; /* Azul más claro para el subtítulo de contacto */
    font-size: 1.6em;
    margin-top: 0;
    margin-bottom: 15px;
}

.contact-info ul {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.contact-info ul li {
    margin-bottom: 8px;
    font-size: 1.1em;
}

.contact-info a {
    color: #0056b3;
    text-decoration: none;
    font-weight: 600;
}

.contact-info a:hover {
    text-decoration: underline;
}

.icon-phone::before { content: "📞 "; } /* Emoji o puedes usar Font Awesome */
.icon-mail::before { content: "📧 "; } /* Emoji o puedes usar Font Awesome */


.closing-remark {
    font-style: italic;
    color: #666;
    margin-top: 30px;
    font-size: 1em;
}

/* Footer */
footer {
    background-color: #e0e0e0;
    color: #666;
    padding: 15px 40px;
    text-align: center;
    font-size: 0.9em;
    border-top: 1px solid #d0d0d0;
}

/* Responsive Design Básico */
@media (max-width: 768px) {
    .container {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    header, .content-card, footer {
        padding: 20px;
    }
    h2 {
        font-size: 1.8em;
    }
    .contact-info h3 {
        font-size: 1.4em;
    }
}

/* --- Efecto de Máquina de Escribir --- */
.typewriter-headline {
    /* Propiedades base para el efecto */
    overflow: hidden; /* Oculta el texto que está fuera del ancho */
    white-space: nowrap; /* Evita que el texto se salte de línea */
    /* El "cursor" que parpadea */
    border-right: .15em solid #0056b3; /* Un borde derecho que simula el cursor, color de acento */
    width: 0; /* Empezamos con un ancho de 0 para que no se vea el texto al inicio */

    /* Animaciones */
    /* typing: hace que el texto aparezca */
    /* blink-caret: hace que el cursor parpadee */
    /* La función steps() hace que la animación sea escalonada, como una máquina de escribir */
    animation:
      typing 3s steps(30, end) forwards, /* 3 segundos, 30 pasos, mantener estado final */
      blink-caret .75s step-end infinite; /* .75 segundos, parpadeo constante */
}

/* @keyframes para la animación de escritura */
@keyframes typing {
    from { width: 0 } /* Empieza sin ancho */
    to { width: 100% } /* Termina con el ancho completo del texto */
}

/* @keyframes para la animación del cursor parpadeante */
@keyframes blink-caret {
    from, to { border-color: transparent } /* Invisible al inicio y final del ciclo */
    50% { border-color: #0056b3; } /* Visible en la mitad del ciclo */
}

/* Media query para ajustar la velocidad en pantallas más pequeñas si es necesario */
@media (max-width: 768px) {
    .typewriter-headline {
        animation:
          typing 3.5s steps(25, end) forwards, /* Ligeramente más lento en móviles */
          blink-caret .75s step-end infinite;
        /* Puedes ajustar font-size o margins aquí si el título es demasiado largo */
    }
}