/* --- CARGA DE FUENTE PERSONALIZADA --- */
@font-face {
  font-family: 'Hero'; /* El nombre que le das para usarla en el CSS */
  src: url('fonts/Hero-Regular.woff2') format('woff2'), /* Primero el formato más moderno */
       url('fonts/Hero-Regular.woff') format('woff');   /* Luego el formato de respaldo */
  font-weight: normal;
  font-style: normal;
}

/* --- ESTILOS GENERALES --- */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    /* Fuentes: Lato para el tagline, Cormorant Garamond para el contenido */
    font-family: 'Lato', sans-serif;
    background-color: #d8d8ce; /* Color de fondo principal similar a la imagen */
}

.main-container {
    display: flex;
    width: 100%;
    height: 100%;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"%3E%3Cg fill-rule="evenodd"%3E%3Cg fill="%239C92AC" fill-opacity="0.05"%3E%3Cpath opacity=".5" d="M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z"/%3E%3Cpath d="M6 5V0h1v5h9V0h1v5h9V0h1v5h9V0h1v5h9V0h1v5h9V0h1v5h9V0h1v5h9V0h1v5h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0v-1h5v-9H0V5h6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); /* Textura de fondo sutil */
}

/* --- COLUMNA IZQUIERDA --- */
.left-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.logo-img {
    width: 100px; /* Ajusta el tamaño de tu logo */
    height: 100px;
}

.logo-text {
    font-size: 60px;
    font-weight: 300;
    letter-spacing: 12px;
    color: #333;
}

.tagline {
    font-family: 'Hero', sans-serif;
    font-size: 14px;
    letter-spacing: 4px;
    color: #4a4a4a;
    text-align: center;
    max-width: 400px;
}

/* --- COLUMNA DERECHA --- */
.right-column {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.content-box {
    background-color: #f5f1e9; /* Color crema/beige */
    padding: 40px;
    width: 80%;
    max-width: 450px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.title-box {
    border-top: 1px solid #c0b8a8;
    border-bottom: 1px solid #c0b8a8;
    padding: 10px 0;
    margin-bottom: 40px;
}

.title-box h2 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: 24px;
    color: #333;
    margin: 0;
}

.icons-container {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.icons-container i {
    font-size: 48px;
}

/* --- ESTILOS PARA EL GRUPO DE ENGRANAJES --- */
.gears-group {
    position: relative; /* posicionar los engranajes absolutamente dentro */
    width: 100px; /* Ajusta el ancho total */
    height: 80px; /* Ajusta la altura total */
    display: flex;
    justify-content: center; /* Centrará los elementos */
    align-items: center;
}

.gear-image {
    position: absolute; /* Permite un posicionamiento preciso */
}

/* --- APLICAR ANIMACIONES INDIVIDUALES --- */

/* Engranaje 1 (primero): gira a la derecha */
.gear-one {
    animation: spin 3s linear infinite;
    width: 40px; /* Podemos hacerlos de diferentes tamaños */
    height: 40px;
    top: 0;
    left: 15px; /* Ajusta la posición horizontal */
}

/* Engranaje 2 (del medio): gira a la izquierda */
.gear-two {
    width: 45px; /* Ajusta el tamaño */
    height: 45px;
    bottom: 0;
    left: 30px; /* Ajusta la posición horizontal */
    animation: spin-reverse 4s linear infinite; /* Gira en sentido contrario y a otra velocidad */
}

/* Engranaje 3 (último): gira a la derecha */
.gear-three {
    width: 35px; /* Ajusta el tamaño */
    height: 35px;
    top: 10px;
    right: 9px; /* Ajusta la posición horizontal desde la derecha */
    animation: spin 3.5s linear infinite; /* Otra velocidad para un efecto más complejo */
}

.icon-blue { color: #3b5998; }
.icon-yellow { color: #f0ad4e; }
.icon-gray { color: #5a5a5a; }

.contact-box {
    border: 1px solid #c0b8a8;
    padding: 20px;
    margin-bottom: 30px;
}

.contact-box p {
    font-family: 'Cormorant Garamond', serif;
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: #4a4a4a;
}

.social-icons a {
    color: #333;
    font-size: 24px;
    margin: 0 15px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.social-icons a:hover {
    color: #6a5acd; /* Color para el hover */
}

/* --- RESPONSIVE DESIGN --- */
@media (max-width: 900px) {
    .main-container {
        flex-direction: column;
        height: auto;
    }
    .left-column, .right-column {
        flex: none;
        width: 100%;
        padding: 40px 20px;
        box-sizing: border-box;
    }
    .logo-text {
        font-size: 40px;
    }
    .content-box {
        width: 100%;
        max-width: none;
    }
}

/* --- DEFINICIÓN DE LA ANIMACIÓN DE GIRO --- */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* --- DEFINICIÓN DE LA ANIMACIÓN INVERSA --- */
@keyframes spin-reverse {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg); /* El signo negativo lo hace girar al revés */
  }
}