:root {
    --bg-color: #eaeaea;
    --text-primary: #0e0d0d;
    --white: #ffffff;
    --transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background-color: var(--bg-color); color: var(--text-primary); overflow-x: hidden; }

.layout-container { display: flex; flex-direction: column; }

/* --- IMAGEN DERECHA (Optimizada para no verse corta) --- */
.right-identity { 
    width: 100%; 
    height: 100vh; /* Ocupa el alto total de pantalla */
    height: 100svh; /* Alto din谩mico para navegadores m贸viles */
    position: relative; 
    overflow: hidden; 
    order: 1; 
     filter: saturate(60%);
}

/* --- ICONO ENLAZADO A IG --- */
.insta-link { color: var(--white);text-decoration: none;transition: var(--transition);}
.insta-link svg {
    width: 0.50em;
     /* El tamaño será proporcional al tamaño del texto */
    height: 0.70em;
    vertical-align: middle;
}

.insta-link:hover {
    opacity: 0.7;
    transform: scale(1.1);
}


.hero-static-wrapper { width: 100%; height: 100%; }
.hero-static-img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; /* Asegura que la imagen llene el espacio sin deformarse */
    object-position: center top; /* Prioriza ver la cara/parte superior */
}

.side-title { position: absolute; bottom: 30px; left: 20px; font-size: 20vw; font-weight: 920; line-height: 0.85; color: var(--white); text-transform: uppercase; z-index: 5; }

/* --- NAV SOBRE IMAGEN --- */
.top-nav { position: absolute; top: 0; left: 0; width: 100%; padding: 30px 20px;z-index: 2000;}
.menu-toggle { background:none ; border: none; cursor: pointer; display: flex; flex-direction: column; gap: 6px; z-index: 2100; position: relative; }
/* LETRA X */.menu-toggle span { width: 30px; height: 4px;
   background:rgb(241, 238, 238); transition: var(--transition);}
.menu-toggle.is-active span { background:var(--text-primary)!important; }


/* MENU OVERLAY */
.nav-links { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--bg-color); z-index: 2050; padding:30px 40px; }
.nav-links.open { display: flex; align-items: center; }
.nav-wrapper { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }

/* ESTILOS DE TEXTO MENU */
.nav-links a, .dropbtn { text-decoration: none; color:rgb(7, 7, 7) !important; font-size: 1.5rem !important; font-weight: 660 !important; letter-spacing: 4px; text-transform: uppercase; cursor: pointer;;
}

/* --- DROPDOWN (Corregido para Escritorio y M贸vil) --- */
.dropdown { position: relative; }
.dropdown-content { 
    display: none; 
    flex-direction: column; 
    padding-left: 20%; 
    background: transparent;
}
.dropdown-content.show { display: flex; margin-top: 10px;}
.dropdown-content a { font-size: 0,75rem; opacity: 0.6; padding: 5px 0;background:rgba(230, 230, 231, 0.596)
}

/* --- CONTENIDO --- */
.left-content { order: 2; width: 100%; background: var(--bg-color); }
.section-padding { padding: 60px 20px; }
.grid { display: flex; flex-direction: column; gap: 60px; }
.card img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; filter: saturate(70%);}
.card-info { margin-top: 15px; }
.card-info h3 { font-size: 0.9rem; text-transform: uppercase; margin: 5px 0; }
.credits, .caption { font-size: 0.65rem; opacity: 0.6; text-transform: uppercase; letter-spacing: 1px; }

.site-footer { padding: 60px 20px; opacity: 0.6; font-size: 0.7rem; text-transform: uppercase; }

/* --- MEDIA QUERIES (ESCRITORIO) --- */
@media (min-width: 1024px) {
    .layout-container { flex-direction: row; height: 100vh; }
    .left-content { width: 60%; height: 100vh; overflow-y: auto; padding: 60px 80px; order: 1; }
    .right-identity { width: 40%; height: 100vh; position: sticky; top: 0; order: 2; }

    .menu-toggle { display: none; }
    .nav-links { display: flex; position: static; height: auto; background:transparent; padding:0; }
    .nav-wrapper { flex-direction: row; gap: 30px; }
    .nav-links a, .dropbtn { font-size: 0,75rem; font-weight: 400; color:transparent; opacity: 0.8; }
    
    .dropdown-content { 
        position: absolute; 
        top: 100%; 
        left: 0; 
        background:transparent; 
        padding: 15px; 
        min-width: 180px; 
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        z-index: 3000;
    }
    .dropdown-content a { color:rgb(243, 235, 235) ; font-size: 0.7rem; opacity: 1; }
    .dropdown:hover .dropdown-content { display: flex; } /* Hover solo en escritorio */
    
    .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px 40px; }
    .side-title { font-size: 6rem; }
}

/* Animaci贸n Hamburguesa a X */
.menu-toggle.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.menu-toggle.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.core-words { font-family: 'Playfair Display' , serif; font-size: 1.5rem;  letter-spacing: 0.18rem; text-align: center; margin-top: 4rem; color: var(--primary-teal); bottom: 30px; left: 20px; font-weight: 920; line-height: 0.85; }





/* Ajuste para celulares */
@media (max-width: 600px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
}

 /* FOOTER OPTIMIZADO */
        .main-footer {
            background: #000;
            padding: 100px 10% 50px;
            border-top: 1px solid rgba(166, 124, 82, 0.15);
            color: var(--acero);
            text-transform: uppercase;
        }
        .footer-content { max-width: 900px; margin: 0 auto; text-align: center; }
        .collab-tag {
            font-size: clamp(1rem, 4vw, 1.8rem);
            font-weight: 900;
            letter-spacing: 12px;
            color: var(--oseo);
            margin-bottom: 50px;
        }
        .technical-info {
            display: inline-block;
            width: 100%;
            max-width: 500px;
            margin-bottom: 50px;
        }
        .info-row {
            font-size: 0.65rem;
            letter-spacing: 2px;
            margin-bottom: 12px;
            display: flex;
            justify-content: space-between;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            padding-bottom: 5px;
        }
        .highlight { color: var(--ocre); font-weight: 700; }
        .divider {
            display: flex; align-items: center; justify-content: center;
            gap: 20px; margin-bottom: 40px; opacity: 0.2;
        }
        .divider span { height: 1px; width: 60px; background: var(--acero); }
        .legal-text { font-size: 0.6rem; opacity: 0.6; margin-bottom: 20px; }

        @media (max-width: 768px) {
            section { padding: 60px 8%; }
            .profile-wrapper { justify-content: center; text-align: center; }
            .profile-content { display: flex; flex-direction: column; align-items: center; }
            .editorial-container { grid-template-columns: 1fr; }
            .img-box { margin-top: 0 !important; }
            .hero-sub { flex-direction: column; gap: 10px; bottom: 30px; letter-spacing: 0.2em; }
            .info-row { flex-direction: column; text-align: center; gap: 4px; padding-bottom: 10px; }
        }
