:root {
    --primary-color: #1a2a3a;
    --secondary-color: #2c3e50;
    --accent-color: #4a90e2;
    --text-light: #f8f9fa;
    --text-dark: #2c3e50;
    --transition-speed: 0.3s;
    --border-radius: 6px;
    --hover-brightness: 1.1;
  }
  
  /* Estilo del botón hamburguesa */
  .menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.8rem;
    cursor: pointer;
    position: absolute;
    right: 1.5rem;
    z-index: 1000;
    color: var(--text-light);
    transition: all var(--transition-speed) ease;
    padding: 0.5rem 0.75rem;
    border-radius: var(--border-radius);
    background-color: rgba(0, 0, 0, 0.1);
  }
  
  .menu-toggle:hover {
    background-color: rgba(0, 0, 0, 0.2);
    transform: scale(1.05);
  }
  
  .menu-toggle.active {
    transform: rotate(90deg);
  }
  
  @media (max-width: 768px) {
    .menu-toggle {
      display: block;
      top: 1.5rem;
    }
    
    .nav-list {
      display: block;

      flex-direction: column;
      position: fixed;
      background: var(--primary-color);
      width: 280px;
      height: 100vh;
      top: 0;
      right: 0;
      padding: 5rem 0 2rem 0;
      z-index: 998;
      box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
      transform: translateX(100%);
      transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    
    .nav-list.active {
      display: flex;
      transform: translateX(0);
    }
    
    .nav-list li {
      padding: 0;
      text-align: left;
      transition: background-color var(--transition-speed) ease;
    }
    
    .nav-list a {
      color: var(--text-light);
      text-decoration: none;
      font-size: 1rem;
      font-weight: 500;
      display: block;
      padding: 1rem 2rem;
      transition: all var(--transition-speed) ease;
      position: relative;
      opacity: 0.9;
    }
    
    .nav-list a:hover,
    .nav-list a:focus {
      background: var(--secondary-color);
      color: white;
      opacity: 1;
      padding-left: 2.5rem;
    }
    
    .nav-list a::before {
      content: '';
      position: absolute;
      left: 1.5rem;
      top: 50%;
      transform: translateY(-50%);
      width: 6px;
      height: 6px;
      background-color: var(--accent-color);
      border-radius: 50%;
      opacity: 0;
      transition: all var(--transition-speed) ease;
    }
    
    .nav-list a:hover::before,
    .nav-list a:focus::before {
      opacity: 1;
      left: 1.8rem;
    }
    
    .dropdown {
      background-color: #2c4762;
      list-style: none;
      width: 100%;
      padding: 0;
    }
    
    .nav-list li:hover .dropdown,
    .nav-list li:focus-within .dropdown {
      display: block;
    }
    
    .dropdown li a {
      padding-left: 3.5rem;
      font-size: 0.95rem;
      background: transparent;
    }
    
    .dropdown li a:hover {
      background: rgba(0, 0, 0, 0.2);
    }
    
    /* Efecto de overlay cuando el menú está abierto */
    .menu-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      z-index: 997;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }
    
    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }
  }
  
 

  
  /* Transición para los items del menú */
  .nav-list.active li {
    animation: slideIn 0.4s ease-out both;
  }
  
  .nav-list.active li:nth-child(1) { animation-delay: 0.1s; }
  .nav-list.active li:nth-child(2) { animation-delay: 0.2s; }
  .nav-list.active li:nth-child(3) { animation-delay: 0.3s; }
  .nav-list.active li:nth-child(4) { animation-delay: 0.4s; }
  .nav-list.active li:nth-child(5) { animation-delay: 0.5s; }