/* ==========================================================================
   MUTADOR STUDIO - HOJA DE ESTILOS PRINCIPAL
   ==========================================================================
   
   TABLA DE CONTENIDO:
   01. Reset y Configuración Base
   02. Tipografía y Títulos
   03. Navegación Principal (Header)
   04. Menú Overlay Fullscreen (Móvil y Escritorio)
   05. Animación de Botón Hamburguesa a "X"
   06. Componentes (Filtros, Grid de Proyectos)
   07. Fondo Animado (Mesh Gradient)
   ========================================================================== */


/* ==========================================================================
   01. RESET Y CONFIGURACIÓN BASE
   ========================================================================== */
::-webkit-scrollbar { display: none; }
html { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
    scroll-behavior: auto !important; /* Vital para que Lenis funcione fluido */
}

body {
    font-family: 'Inter', sans-serif;
    background-color: transparent !important; /* Para ver el mesh gradient */
    color: #111111;
    font-size: 0.9rem;
}


/* ==========================================================================
   02. TIPOGRAFÍA Y TÍTULOS
   ========================================================================== */
.texto-ui, .texto-ui a {
    font-size: 0.65rem !important; 
    letter-spacing: 0.15em; 
    text-transform: uppercase;
}

.hero-title {
    font-size: clamp(2rem, 4.5vw, 4rem); 
    letter-spacing: -0.02em; 
    line-height: 1.1;
    font-weight: 200 !important; 
}

.hero-subtitle {
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    font-weight: 300;
}

.titulo-seccion {
    font-size: clamp(1.5rem, 3.5vw, 2.5rem);
    letter-spacing: -0.01em;
    font-weight: 200 !important; 
}


/* ==========================================================================
   03. NAVEGACIÓN PRINCIPAL (HEADER)
   ========================================================================== */
.transition-navbar {
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), background-color 0.4s ease, color 0.4s ease;
    background-color: transparent !important; 
    color: #111111; 
}

.header-oculto {
    transform: translateY(-100%);
}

.nav-enlace {
    color: currentColor !important; 
    transition: opacity 0.3s ease;
}

.nav-enlace:hover { opacity: 0.5; }
.icono-menu { transition: color 0.4s ease; }

/* Estado Inverso: Fuerza elementos a blanco puro en fondos oscuros */
.header-inverso,
.header-inverso .navbar-brand,
.header-inverso .nav-enlace,
.header-inverso .icono-menu {
    color: #FFFFFF !important;
}

.navbar-brand, .nav-enlace, .icono-menu {
    transition: color 0.4s ease, opacity 0.3s ease;
    color: #111111; 
}

/* Z-index asegurado para que el header flote siempre arriba */
.z-3 { z-index: 1050 !important; }
#header { z-index: 1050 !important; }


/* ==========================================================================
   04. MENÚ OVERLAY FULLSCREEN (MÓVIL Y ESCRITORIO)
   ========================================================================== */
.menu-overlay-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh; /* Altura dinámica para navegadores móviles */
    background-color: #111111;
    z-index: 1040; /* Por debajo del header */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden; 
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.6s;
}

.menu-overlay-fullscreen.activo {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all;
}

.menu-links-fullscreen {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 2vh;
}

.nav-enlace-fullscreen {
    color: #FAFAFA;
    text-decoration: none;
    font-size: clamp(3rem, 8vw, 6rem); 
    font-weight: 200;
    letter-spacing: -0.03em;
    opacity: 0; 
    transform: translateY(30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Cascada de aparición de los enlaces */
.menu-overlay-fullscreen.activo .nav-enlace-fullscreen {
    opacity: 1;
    transform: translateY(0);
}
.menu-overlay-fullscreen.activo .nav-enlace-fullscreen:nth-child(1) { transition-delay: 0.2s; }
.menu-overlay-fullscreen.activo .nav-enlace-fullscreen:nth-child(2) { transition-delay: 0.3s; }
.menu-overlay-fullscreen.activo .nav-enlace-fullscreen:nth-child(3) { transition-delay: 0.4s; }

.nav-enlace-fullscreen:hover { opacity: 0.5 !important; }


/* ==========================================================================
   05. ANIMACIÓN DE BOTÓN HAMBURGUESA A "X"
   ========================================================================== */
.linea-1, .linea-2 {
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
    transform-origin: center;
    transform-box: fill-box; 
}

#btn-menu-mobile.abierto .linea-1 { transform: translateY(7px) rotate(45deg); }
#btn-menu-mobile.abierto .linea-2 { transform: translateY(-7px) rotate(-45deg); }

/* Fuerza color blanco en la X cuando está abierta */
#btn-menu-mobile.abierto { color: #FFFFFF !important; }
#btn-menu-mobile.abierto .linea-1, 
#btn-menu-mobile.abierto .linea-2 {
    stroke: #FFFFFF