 /* ===== RESET Y VARIABLES ===== */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      /* Colores tomados del sitio original: azul corporativo, gris oscuro y blanco */
      --azul-principal: #0b3d6b;
      --azul-secundario: #1a5a8c;
      --azul-hover: #2a7ab0;
      --gris-oscuro: #2c3e50;
      --gris-medio: #34495e;
      --gris-claro: #ecf0f1;
      --blanco: #ffffff;
      --sombra: rgba(0, 0, 0, 0.15);
    }

    body {
      font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
      background-color: #f5f7fa;
    }

    /* ===== CONTENEDOR PRINCIPAL DEL MENÚ ===== */
    .menu-principal {
      background: linear-gradient(180deg, var(--azul-principal) 0%, var(--azul-secundario) 100%);
      box-shadow: 0 2px 8px var(--sombra);
      position: sticky;
      top: 0;
      z-index: 1000;
    }

    .menu-contenedor {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 20px;
      height: 65px;
    }

    /* ===== LOGO ===== */
    .menu-logo {
      color: var(--blanco);
      font-size: 1.4rem;
      font-weight: 700;
      letter-spacing: 1px;
      text-decoration: none;
      white-space: nowrap;
    }

    .menu-logo span {
      color: #7fc4ff;
    }

    /* ===== BOTÓN HAMBURGUESA (solo móvil) ===== */
    .menu-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
      flex-direction: column;
      gap: 5px;
    }

    .menu-toggle span {
      display: block;
      width: 28px;
      height: 3px;
      background-color: var(--blanco);
      border-radius: 2px;
      transition: all 0.3s ease;
    }

    /* ===== LISTA DE NAVEGACIÓN ===== */
    .menu-nav {
      display: flex;
      list-style: none;
      align-items: center;
      gap: 4px;
    }

    .menu-nav > li {
      position: relative;
    }

    .menu-nav > li > a {
      display: block;
      color: var(--blanco);
      text-decoration: none;
      padding: 12px 16px;
      font-size: 0.95rem;
      font-weight: 500;
      border-radius: 6px;
      transition: background 0.25s ease, color 0.25s ease;
      white-space: nowrap;
    }

    .menu-nav > li > a:hover,
    .menu-nav > li > a:focus {
      background-color: var(--azul-hover);
      color: var(--blanco);
    }

    /* ===== FLECHA DEL SUBMENÚ ===== */
    .menu-nav .tiene-submenu > a::after {
      content: "▾";
      margin-left: 6px;
      font-size: 0.8rem;
      display: inline-block;
      transition: transform 0.3s ease;
    }

    .menu-nav .tiene-submenu:hover > a::after {
      transform: rotate(180deg);
    }

    /* ===== SUBMENÚ DESPLEGABLE (escritorio) ===== */
    .submenu {
      position: absolute;
      top: 100%;
      left: 0;
      background-color: var(--blanco);
      min-width: 220px;
      list-style: none;
      border-radius: 0 0 8px 8px;
      box-shadow: 0 8px 20px var(--sombra);
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.3s ease;
      overflow: hidden;
    }

    .menu-nav .tiene-submenu:hover > .submenu,
    .menu-nav .tiene-submenu:focus-within > .submenu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .submenu li a {
      display: block;
      padding: 12px 20px;
      color: var(--gris-oscuro);
      text-decoration: none;
      font-size: 0.9rem;
      border-left: 3px solid transparent;
      transition: all 0.25s ease;
    }

    .submenu li a:hover {
      background-color: var(--gris-claro);
      border-left-color: var(--azul-principal);
      color: var(--azul-principal);
      padding-left: 26px;
    }

    /* ===== RESPONSIVE (móvil y tablet) ===== */
    @media (max-width: 900px) {
      .menu-toggle {
        display: flex;
      }

      .menu-nav {
        position: absolute;
        top: 65px;
        left: 0;
        width: 100%;
        background: linear-gradient(180deg, var(--azul-principal) 0%, var(--azul-secundario) 100%);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        box-shadow: 0 6px 12px var(--sombra);
      }

      .menu-nav.activo {
        max-height: 600px;
        overflow-y: auto;
      }

      .menu-nav > li > a {
        padding: 15px 20px;
        border-radius: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      }

      /* El submenú en móvil se convierte en acordeón */
      .submenu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        max-height: 0;
        overflow: hidden;
        box-shadow: none;
        border-radius: 0;
        background-color: rgba(0, 0, 0, 0.15);
        transition: max-height 0.4s ease;
      }

      .menu-nav .tiene-submenu.abierto > .submenu {
        max-height: 300px;
      }

      .menu-nav .tiene-submenu > a::after {
        float: right;
        transition: transform 0.3s ease;
      }

      .menu-nav .tiene-submenu.abierto > a::after {
        transform: rotate(180deg);
      }

      .submenu li a {
        color: var(--blanco);
        padding: 13px 35px;
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      }

      .submenu li a:hover {
        background-color: var(--azul-hover);
        color: var(--blanco);
        padding-left: 35px;
        border-left: none;
      }

      /* Animación del botón hamburguesa a X */
      .menu-toggle.activo span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
      }
      .menu-toggle.activo span:nth-child(2) {
        opacity: 0;
      }
      .menu-toggle.activo span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
      }
    }

    /* ===== CONTENIDO DE EJEMPLO ===== */
    .contenido-ejemplo {
      max-width: 1200px;
      margin: 40px auto;
      padding: 0 20px;
    }

    .contenido-ejemplo h1 {
      color: var(--azul-principal);
      font-size: 1.8rem;
      margin-bottom: 15px;
    }

    .contenido-ejemplo p {
      color: var(--gris-medio);
      line-height: 1.6;
    }