/* Variables basadas en el manual de identidad visual en modo oscuro */
:root {
    --bg-dark: #231F20;
    --bg-card: #2E3740;
    --border-muted: #555D66;
    --accent-light: #C3CDD8;
    --accent-warm: #ECF0F1;
    --text-main: #F5F1E7;
}

body {
    font-family: 'Gotham', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-main);
    /* Fondo con gradiente radial para profundidad */
    background-image: radial-gradient(circle at 50% 0%, #2E3740 0%, #231F20 70%);
    background-attachment: fixed;
}

/* Gradientes para títulos */
.text-gradient {
    background: linear-gradient(135deg, #FFFFFF, var(--accent-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Tarjetas con estilo moderno y hover luminoso */
.modern-card {
    background: linear-gradient(145deg, rgba(46, 55, 64, 0.6), rgba(35, 31, 32, 0.4));
    backdrop-filter: blur(10px);
    border: 1px solid rgba(85, 93, 102, 0.4);
    border-radius: 16px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

.modern-card:hover {
    transform: translateY(-8px);
    border-color: var(--accent-light);
    box-shadow: 0 15px 35px -5px rgba(195, 205, 216, 0.15), 0 0 15px rgba(195, 205, 216, 0.1);
}

/* Botones principales */
.btn-modern {
    background: linear-gradient(135deg, var(--accent-light), #FFFFFF);
    color: var(--bg-dark);
    box-shadow: 0 4px 15px rgba(195, 205, 216, 0.2);
    transition: all 0.3s ease;
}

.btn-modern:hover {
    box-shadow: 0 6px 20px rgba(195, 205, 216, 0.4);
    transform: scale(1.05);
}

/* Separadores */
.glow-divider {
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, transparent, var(--accent-light), transparent);
    opacity: 0.4;
    margin: 4rem 0;
}

/* Ocultar barra de scroll en patrocinadores */
.sponsor-scroll-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.sponsor-scroll-container::-webkit-scrollbar {
    display: none;
}

/* Clase para controlar la visibilidad del menú en móviles */
.nav-menu {
    display: none;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px; /* Separación de la línea respecto al texto */
    left: 0;
    background-color: var(--accent-light); /* Color azul clarito */
    transition: width 0.3s ease-in-out;
}

/* La línea crece al 100% cuando pasas el mouse o cuando tiene la clase activa */
.nav-link:hover::after,
.nav-link.active-link::after {
    width: 100%;
}

/* Color del texto cuando está activo */
.nav-link.active-link {
    color: var(--accent-light) !important;
}

/* --- Estilos para las tarjetas del organigrama (Equipo) --- */
.team-card {
    cursor: pointer;
    background-color: #1a1c20;
}

.team-img {
    filter: grayscale(100%);
    opacity: 0.7;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), filter 0.5s ease, opacity 0.5s ease;
}

/* Efectos al pasar el cursor: Color original, zoom del 10% y brillo completo */
.team-card:hover .team-img {
    filter: grayscale(0%);
    transform: scale(1.1);
    opacity: 1;
}

/* Asegurar que el gradiente oscuro no bloquee la interacción del cursor */
.team-gradient-overlay {
    pointer-events: none;
}